diff --git a/ItsTYtan_ip_master/commits.json b/ItsTYtan_ip_master/commits.json index b3c525cd..899666f2 100644 --- a/ItsTYtan_ip_master/commits.json +++ b/ItsTYtan_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"ItsTYtan":[{"date":"2023-08-19","commitResults":[{"hash":"17366925f94d3f44ec433b04e3714939ad53457c","isMergeCommit":false,"messageTitle":"Rename, Greet, Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":6}}},{"hash":"4f609f2c85ace3355683f7d39512db0abb89ecf5","isMergeCommit":false,"messageTitle":"Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":1}}},{"hash":"a9791864496df0362cde806fb34d08ab52f07c21","isMergeCommit":false,"messageTitle":"Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":1}}},{"hash":"98c276a32939222b536c1e0a8f52de76fdfc1d27","isMergeCommit":false,"messageTitle":"Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":5}}},{"hash":"cd0a4852eaf1b43881e4e44aba2b4c7b8d5848ee","isMergeCommit":false,"messageTitle":"ToDos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":2}}}]},{"date":"2023-08-20","commitResults":[{"hash":"b52283088331b91ddccb1d304ed03216a1a986e0","isMergeCommit":false,"messageTitle":"Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"java":{"insertions":12,"deletions":8}}},{"hash":"a34a788c8e8fc1151066a29df6169f1b850a8e75","isMergeCommit":false,"messageTitle":"Handle Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":85,"deletions":32}}},{"hash":"14540e738fb378cd00d89c31a13a5b8f0e94cbe0","isMergeCommit":false,"messageTitle":"Delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":56,"deletions":46}}},{"hash":"54f318f7cfed207aae0966af57a534bb72da22fa","isMergeCommit":false,"messageTitle":"Use Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":11}}}]},{"date":"2023-08-26","commitResults":[{"hash":"67d8d6db707be8d49b9c0e2c5826ca4398555ab9","isMergeCommit":false,"messageTitle":"Implement a save function","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":142,"deletions":73}}},{"hash":"4ee3894d25c610292c8f89448b8f9d61d7781e62","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"bedf2d885b008bf5953b282be82d5bf3892579de","isMergeCommit":false,"messageTitle":"Add date and time functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":3}}},{"hash":"b0aa04e0dd005bd8d11450722f9c396355c447a1","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-27","commitResults":[{"hash":"bfee58b77f5ffa7eb3c89f4885810cf4c5e15c2d","isMergeCommit":false,"messageTitle":"Add more OOP into the code","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"java":{"insertions":412,"deletions":201}}},{"hash":"1c5948ab846fda647096ff9e4dd4912ea8afed12","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"1d5d7f1e8823ccf100f0d0359def03d76ca643db","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"158e87088750989d5df27963942dd7f5e2c75b42","isMergeCommit":false,"messageTitle":"Add JUnit Tests","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":172,"deletions":60},"md":{"insertions":2,"deletions":2}}}]}]},"authorFileTypeContributionMap":{"ItsTYtan":{"java":632,"md":2,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":9}},"authorContributionVariance":{"ItsTYtan":35501.523},"authorDisplayNameMap":{"ItsTYtan":"CS2103T-F10-3 TAN ..OUNG"}} +{"authorDailyContributionsMap":{"ItsTYtan":[{"date":"2023-08-19","commitResults":[{"hash":"17366925f94d3f44ec433b04e3714939ad53457c","isMergeCommit":false,"messageTitle":"Rename, Greet, Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":6}}},{"hash":"4f609f2c85ace3355683f7d39512db0abb89ecf5","isMergeCommit":false,"messageTitle":"Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":1}}},{"hash":"a9791864496df0362cde806fb34d08ab52f07c21","isMergeCommit":false,"messageTitle":"Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":1}}},{"hash":"98c276a32939222b536c1e0a8f52de76fdfc1d27","isMergeCommit":false,"messageTitle":"Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":5}}},{"hash":"cd0a4852eaf1b43881e4e44aba2b4c7b8d5848ee","isMergeCommit":false,"messageTitle":"ToDos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":2}}}]},{"date":"2023-08-20","commitResults":[{"hash":"b52283088331b91ddccb1d304ed03216a1a986e0","isMergeCommit":false,"messageTitle":"Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"java":{"insertions":12,"deletions":8}}},{"hash":"a34a788c8e8fc1151066a29df6169f1b850a8e75","isMergeCommit":false,"messageTitle":"Handle Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":85,"deletions":32}}},{"hash":"14540e738fb378cd00d89c31a13a5b8f0e94cbe0","isMergeCommit":false,"messageTitle":"Delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":56,"deletions":46}}},{"hash":"54f318f7cfed207aae0966af57a534bb72da22fa","isMergeCommit":false,"messageTitle":"Use Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":11}}}]},{"date":"2023-08-26","commitResults":[{"hash":"67d8d6db707be8d49b9c0e2c5826ca4398555ab9","isMergeCommit":false,"messageTitle":"Implement a save function","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":142,"deletions":73}}},{"hash":"4ee3894d25c610292c8f89448b8f9d61d7781e62","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"bedf2d885b008bf5953b282be82d5bf3892579de","isMergeCommit":false,"messageTitle":"Add date and time functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":3}}},{"hash":"b0aa04e0dd005bd8d11450722f9c396355c447a1","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-27","commitResults":[{"hash":"bfee58b77f5ffa7eb3c89f4885810cf4c5e15c2d","isMergeCommit":false,"messageTitle":"Add more OOP into the code","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"java":{"insertions":412,"deletions":201}}},{"hash":"1c5948ab846fda647096ff9e4dd4912ea8afed12","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"1d5d7f1e8823ccf100f0d0359def03d76ca643db","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"158e87088750989d5df27963942dd7f5e2c75b42","isMergeCommit":false,"messageTitle":"Add JUnit Tests","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":172,"deletions":60},"md":{"insertions":2,"deletions":2}}}]}]},"authorFileTypeContributionMap":{"ItsTYtan":{"java":632,"md":2,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":9}},"authorContributionVariance":{"ItsTYtan":35501.523},"authorDisplayNameMap":{"ItsTYtan":"CS2103T-F10-3 TAN ..OUNG"}} diff --git a/TiwKangXu_ip_master/authorship.json b/TiwKangXu_ip_master/authorship.json index 286c63d0..5c1fb3e9 100644 --- a/TiwKangXu_ip_master/authorship.json +++ b/TiwKangXu_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.io.*;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.*;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.Parser;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.Storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-21"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" * A chatbot that helps to record tasks.","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" private TaskList tasks;","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" private Storage storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" private Parser parser;","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" private Ui ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" Scanner sc;","lastModifiedDate":"2023-08-20"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" public Duke() {","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" this.sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" this.storage \u003d new Storage(tasks);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" this.parser \u003d new Parser(tasks, storage);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" * Greets by chatbot.","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-21"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" private void greet() {","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"------------------------------------------\");","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\" Hello! I\u0027m Jokey :) \\n What can I do for you?\");","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"------------------------------------------\");","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" public void run() {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" storage.load();","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" greet();","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":" parser.interact();","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":" Duke duke \u003d new Duke();","lastModifiedDate":"2023-08-20"},{"lineNumber":55,"author":{"gitId":"TiwKangXu"},"content":" duke.run();","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":58,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"TiwKangXu":54,"-":4}},{"path":"src/main/java/duke/command/FirstWord.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"public enum FirstWord {","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":" BYE, LIST, MARK, UNMARK, TODO, DEADLINE, EVENT, DELETE, INVALID","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":4}},{"path":"src/main/java/duke/exception/DukeEmptyToDoException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Handles creating To Do event without description.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeEmptyToDoException extends DukeException{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"The description of a todo cannot be empty.\";","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":11}},{"path":"src/main/java/duke/exception/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Parent class of all Duke Exceptions.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeException extends Exception{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return \" :\u003c OOPS! \";","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":11}},{"path":"src/main/java/duke/exception/DukeInvalidDateFormatException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"public class DukeInvalidDateFormatException extends DukeException{","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"Invalid date format. Date format should be YYYY-MM-DD.\";","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":7}},{"path":"src/main/java/duke/exception/DukeInvalidSavedToFileLineType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Handles unknown command entered.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeInvalidSavedToFileLineType extends DukeException{","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"Wrong task type saved in disc.\";","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":12}},{"path":"src/main/java/duke/exception/DukeUnknownCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Handles unknown command entered.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeUnknownCommandException extends DukeException{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"I\u0027m sorry, but I don\u0027t know what that means.\";","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":12}},{"path":"src/main/java/duke/main/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import duke.command.FirstWord;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeEmptyToDoException;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeInvalidDateFormatException;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeUnknownCommandException;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" private Scanner sc;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" private Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" private TaskList tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" public Parser(TaskList tasks, Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" this.sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" this.storage \u003d storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" * Adds horizontal line for replies by chatbot.","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" * @param text","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" private void line(String text) {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(text);","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"------------------------------------------\");","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" * Exits chatbot.","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" private void exit() {","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" this.line(\" Bye~ Hope to see you again soon! \u003ew\u003c\");","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" * Lists out all tasks.","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" private void listOutTasks() {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" String tasksList \u003d \"\";","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" for(int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":" tasksList +\u003d String.format(\"%d. %s\\n\", i + 1, tasks.get(i).toString().trim());","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" this.line(tasksList);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"TiwKangXu"},"content":" * Marks task as done.","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"TiwKangXu"},"content":" * @param index","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"TiwKangXu"},"content":" private void mark(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d tasks.get(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Nice! I\u0027ve marked this task as done:\\n %s\", task.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"TiwKangXu"},"content":" * Marks task as not done.","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"TiwKangXu"},"content":" * @param index","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"TiwKangXu"},"content":" private void unmark(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d tasks.get(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"TiwKangXu"},"content":" task.unmark();","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Ok, I\u0027ve marked this task as not done yet:\\n %s\", task.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"TiwKangXu"},"content":" * Adds a To Do task.","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"TiwKangXu"},"content":" * @param reply","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"TiwKangXu"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"TiwKangXu"},"content":" private void addToDo(String reply) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"TiwKangXu"},"content":" if (reply.length() \u003d\u003d \"todo\".length()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeEmptyToDoException();","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"TiwKangXu"},"content":" String taskContent \u003d reply.replace(\"todo \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d new ToDo(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"TiwKangXu"},"content":" addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"TiwKangXu"},"content":" * Adds a Deadline task.","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"TiwKangXu"},"content":" * @param reply","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"TiwKangXu"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"TiwKangXu"},"content":" private void addDeadline(String reply) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"TiwKangXu"},"content":" String taskContent \u003d reply.substring(0, reply.indexOf(\" /by\")).replace(\"deadline \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"TiwKangXu"},"content":" String due \u003d reply.substring(reply.indexOf(\"/by\") + 4);","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d new Deadline(taskContent, LocalDate.parse(due));","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"TiwKangXu"},"content":" addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"TiwKangXu"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeInvalidDateFormatException();","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"TiwKangXu"},"content":" * Adds an Event task.","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"TiwKangXu"},"content":" * @param reply","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"TiwKangXu"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"TiwKangXu"},"content":" private void addEvent(String reply) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"TiwKangXu"},"content":" String from \u003d reply.substring(reply.indexOf(\"/from\") + 6, reply.indexOf(\" /to\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"TiwKangXu"},"content":" String to \u003d reply.substring(reply.indexOf(\"/to\") + 4);","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"TiwKangXu"},"content":" String taskContent \u003d reply.substring(0, reply.indexOf(\" /from\")).replace(\"event \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":119,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":120,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":121,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d new Event(taskContent, LocalDate.parse(from), LocalDate.parse(to));","lastModifiedDate":"2023-08-27"},{"lineNumber":122,"author":{"gitId":"TiwKangXu"},"content":" addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":123,"author":{"gitId":"TiwKangXu"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":124,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeInvalidDateFormatException();","lastModifiedDate":"2023-08-27"},{"lineNumber":125,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":126,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":127,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":128,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":129,"author":{"gitId":"TiwKangXu"},"content":" * Deletes a task.","lastModifiedDate":"2023-08-27"},{"lineNumber":130,"author":{"gitId":"TiwKangXu"},"content":" * @param index","lastModifiedDate":"2023-08-27"},{"lineNumber":131,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":132,"author":{"gitId":"TiwKangXu"},"content":" private void delete(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":133,"author":{"gitId":"TiwKangXu"},"content":" Task removedTask \u003d tasks.remove(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":134,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" Noted. I\u0027ve removed this task:\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":135,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" %s\", removedTask.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":136,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Now you have %d task(s) in the list.\", tasks.size()));","lastModifiedDate":"2023-08-27"},{"lineNumber":137,"author":{"gitId":"TiwKangXu"},"content":" storage.save();","lastModifiedDate":"2023-08-27"},{"lineNumber":138,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":139,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":140,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":141,"author":{"gitId":"TiwKangXu"},"content":" * Constructs message for adding task.","lastModifiedDate":"2023-08-27"},{"lineNumber":142,"author":{"gitId":"TiwKangXu"},"content":" * @param task","lastModifiedDate":"2023-08-27"},{"lineNumber":143,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":144,"author":{"gitId":"TiwKangXu"},"content":" private void addTask(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":145,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" Got it. I\u0027ve added this task:\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":146,"author":{"gitId":"TiwKangXu"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":147,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" %s\", task.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":148,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Now you have %d task(s) in the list.\", tasks.size()));","lastModifiedDate":"2023-08-27"},{"lineNumber":149,"author":{"gitId":"TiwKangXu"},"content":" storage.save();","lastModifiedDate":"2023-08-27"},{"lineNumber":150,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":151,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":152,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":153,"author":{"gitId":"TiwKangXu"},"content":" * Triggers respective actions.","lastModifiedDate":"2023-08-27"},{"lineNumber":154,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":155,"author":{"gitId":"TiwKangXu"},"content":" public void interact() {","lastModifiedDate":"2023-08-27"},{"lineNumber":156,"author":{"gitId":"TiwKangXu"},"content":" while(true) {","lastModifiedDate":"2023-08-27"},{"lineNumber":157,"author":{"gitId":"TiwKangXu"},"content":" String reply \u003d sc.nextLine();","lastModifiedDate":"2023-08-27"},{"lineNumber":158,"author":{"gitId":"TiwKangXu"},"content":" FirstWord firstWord;","lastModifiedDate":"2023-08-27"},{"lineNumber":159,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":160,"author":{"gitId":"TiwKangXu"},"content":" firstWord \u003d FirstWord.valueOf(reply.split(\" \")[0].toUpperCase());","lastModifiedDate":"2023-08-27"},{"lineNumber":161,"author":{"gitId":"TiwKangXu"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":162,"author":{"gitId":"TiwKangXu"},"content":" firstWord \u003d FirstWord.INVALID;","lastModifiedDate":"2023-08-27"},{"lineNumber":163,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":164,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":165,"author":{"gitId":"TiwKangXu"},"content":" switch (firstWord) {","lastModifiedDate":"2023-08-27"},{"lineNumber":166,"author":{"gitId":"TiwKangXu"},"content":" case BYE:","lastModifiedDate":"2023-08-27"},{"lineNumber":167,"author":{"gitId":"TiwKangXu"},"content":" exit();","lastModifiedDate":"2023-08-27"},{"lineNumber":168,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":169,"author":{"gitId":"TiwKangXu"},"content":" case LIST:","lastModifiedDate":"2023-08-27"},{"lineNumber":170,"author":{"gitId":"TiwKangXu"},"content":" listOutTasks();","lastModifiedDate":"2023-08-27"},{"lineNumber":171,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":172,"author":{"gitId":"TiwKangXu"},"content":" case MARK:","lastModifiedDate":"2023-08-27"},{"lineNumber":173,"author":{"gitId":"TiwKangXu"},"content":" mark(Character.getNumericValue(reply.charAt(5) - 1));","lastModifiedDate":"2023-08-27"},{"lineNumber":174,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":175,"author":{"gitId":"TiwKangXu"},"content":" case UNMARK:","lastModifiedDate":"2023-08-27"},{"lineNumber":176,"author":{"gitId":"TiwKangXu"},"content":" unmark(Character.getNumericValue(reply.charAt(7) - 1));","lastModifiedDate":"2023-08-27"},{"lineNumber":177,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":178,"author":{"gitId":"TiwKangXu"},"content":" case TODO:","lastModifiedDate":"2023-08-27"},{"lineNumber":179,"author":{"gitId":"TiwKangXu"},"content":" addToDo(reply);","lastModifiedDate":"2023-08-27"},{"lineNumber":180,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":181,"author":{"gitId":"TiwKangXu"},"content":" case DEADLINE:","lastModifiedDate":"2023-08-27"},{"lineNumber":182,"author":{"gitId":"TiwKangXu"},"content":" addDeadline(reply);","lastModifiedDate":"2023-08-27"},{"lineNumber":183,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":184,"author":{"gitId":"TiwKangXu"},"content":" case EVENT:","lastModifiedDate":"2023-08-27"},{"lineNumber":185,"author":{"gitId":"TiwKangXu"},"content":" addEvent(reply);","lastModifiedDate":"2023-08-27"},{"lineNumber":186,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":187,"author":{"gitId":"TiwKangXu"},"content":" case DELETE:","lastModifiedDate":"2023-08-27"},{"lineNumber":188,"author":{"gitId":"TiwKangXu"},"content":" delete(Character.getNumericValue(reply.charAt(7) - 1));","lastModifiedDate":"2023-08-27"},{"lineNumber":189,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":190,"author":{"gitId":"TiwKangXu"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":191,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeUnknownCommandException();","lastModifiedDate":"2023-08-27"},{"lineNumber":192,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":193,"author":{"gitId":"TiwKangXu"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":194,"author":{"gitId":"TiwKangXu"},"content":" this.line(e.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":195,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":196,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":197,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":198,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":198}},{"path":"src/main/java/duke/main/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeInvalidSavedToFileLineType;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"import java.io.BufferedWriter;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"import java.io.File;","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"import java.io.FileReader;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" TaskList tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" public Storage(TaskList tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" public void save() {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" String dataPath \u003d Paths.get(\"data\", \"duke.txt\").toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" File dataFile \u003d new File(dataPath);","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(dataFile));","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" String line \u003d task.saveToFileLine();","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" writer.write(line);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" writer.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"File duke.txt not found.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":" public void load() {","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" String dataPath \u003d Paths.get(\"data\", \"duke.txt\").toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" File dataFile \u003d new File(dataPath);","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(dataFile));","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" for (String line; (line \u003d reader.readLine()) !\u003d null;) {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" tasks.add(fileToTask(line));","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"File duke.txt not found.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" } catch (DukeException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(ex.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"TiwKangXu"},"content":" private Task fileToTask(String line) throws DukeInvalidSavedToFileLineType {","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"TiwKangXu"},"content":" String[] savedToFileLine \u003d line.split(\" \\\\| \");","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"TiwKangXu"},"content":" String type \u003d savedToFileLine[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"TiwKangXu"},"content":" String status \u003d savedToFileLine[1];","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"TiwKangXu"},"content":" String description \u003d savedToFileLine[2];","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"TiwKangXu"},"content":" switch (type) {","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"TiwKangXu"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"TiwKangXu"},"content":" return ToDo.create(status, description);","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"TiwKangXu"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"TiwKangXu"},"content":" String due \u003d savedToFileLine[3];","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"TiwKangXu"},"content":" return Deadline.create(status, description, due);","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"TiwKangXu"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"TiwKangXu"},"content":" String range \u003d savedToFileLine[3];","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"TiwKangXu"},"content":" String from \u003d range.substring(0, range.indexOf(\" to\")).replace(\"from \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"TiwKangXu"},"content":" String to \u003d range.substring(range.indexOf(\"to \")).replace(\"to \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"TiwKangXu"},"content":" return Event.create(status, description, from, to);","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"TiwKangXu"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeInvalidSavedToFileLineType();","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":79}},{"path":"src/main/java/duke/main/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" public TaskList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" public int size() {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" return tasks.size();","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" public Task get(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" return tasks.get(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" public Task remove(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" return tasks.remove(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":29}},{"path":"src/main/java/duke/main/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"public class Ui {","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":4}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" * Deadline task.","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"public class Deadline extends Task{","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"// private String due;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" private LocalDate due;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" public Deadline(String taskContent, LocalDate due) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" super(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" this.due \u003d due;","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" String statusAndTaskContent \u003d super.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\" [D] %s (by: %s)\", statusAndTaskContent, due.format(formatter));","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" public static Deadline create(String status, String description, String due) {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" Deadline task \u003d new Deadline(description, LocalDate.parse(due));","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" if (status \u003d\u003d \"1\") {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" return task;","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"D | %s | %s\\n\", super.saveToFileLine(), due.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":36}},{"path":"src/main/java/duke/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":" * Event task.","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" private LocalDate from;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" private LocalDate to;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" public Event(String taskContent, LocalDate from, LocalDate to) {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" super(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" String statusAndTaskContent \u003d super.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\" [E] %s (from: %s to: %s)\",","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" statusAndTaskContent, from.format(formatter), to.format(formatter));","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" public static Event create(String status, String description, String from, String to) {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" Event task \u003d new Event(description, LocalDate.parse(from), LocalDate.parse(to));","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" if (status \u003d\u003d \"1\") {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" return task;","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"E | %s | from %s to %s\\n\", super.saveToFileLine(), from, to);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":35}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" * Class for tasks created.","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"public class Task {","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" private boolean status;","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" private String taskContent;","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" protected DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy\");","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" public Task(String reply) {","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" this.status \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" this.taskContent \u003d reply;","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" * Marks task status as done.","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" public void mark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" status \u003d true;","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" * Marks task status as not done.","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" public void unmark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" status \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" if (status) {","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"[X] %s\", taskContent);","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" } else {","lastModifiedDate":"2023-08-20"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"[ ] %s\", taskContent);","lastModifiedDate":"2023-08-20"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" public String showContent() {","lastModifiedDate":"2023-08-20"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" return taskContent;","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"%s | %s\", status ? \"1\" : \"0\", taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":" public String formatDate(LocalDate date) {","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" return LocalDate.parse(date.toString()).format(DateTimeFormatter.ofPattern(\"MMM dd yyyy\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":54}},{"path":"src/main/java/duke/task/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * To Do task.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class ToDo extends Task{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" public ToDo(String taskContent) {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" super(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" String statusAndTaskContent \u003d super.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\" [T] %s\", statusAndTaskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" public static ToDo create(String status, String description) {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" ToDo task \u003d new ToDo(description);","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" if (status \u003d\u003d \"1\") {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" return task;","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"T | %s\\n\", super.saveToFileLine());","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":28}},{"path":"src/test/java/duke/main/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"public class ParserTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" public void addEvent_toDo_createNewTask(){","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" Storage storage \u003d new Storage(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" Parser parser \u003d new Parser(taskList, storage);","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" parser.interact();","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"// System.setIn(\"event do /from 2019-10-12 /to 2020-10-12\");","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":18}},{"path":"src/test/java/duke/main/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class TaskListTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public void add_newTask_taskListExpands(){","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(new Task(\"todo a\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(new Task(\"todo b\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(taskList.size(), 2);","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" public void remove_existingTask_taskListShrinks(){","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" Task a \u003d new Task(\"todo a\");","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" Task b \u003d new Task(\"todo b\");","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(a);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(b);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" Task taskRemoved \u003d taskList.remove(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(taskList.size(), 1);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(taskRemoved, b);","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":26}},{"path":"src/test/java/duke/task/ToDoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"public class ToDoTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" public void toString_correctFormat(){","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo \u003d new ToDo(\"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(toDo.toString(), \" [T] [ ] abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" public void create_newToDoInstance(){","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo \u003d new ToDo(\"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo1 \u003d ToDo.create(\"0\", \"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(toDo.toString(), toDo1.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" public void saveToFileLine_correctFormat(){","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo \u003d new ToDo(\"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" String saveToFileLine \u003d toDo.saveToFileLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(saveToFileLine, \"T | 0 | abc\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":26}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"todo wakeup happily","lastModifiedDate":"2023-08-20"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"todo step out of comfort zone","lastModifiedDate":"2023-08-20"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"mark 1","lastModifiedDate":"2023-08-20"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"event CS2101 Lecture /from 2023-08-26 /to 2023-08-27","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"todo be engaging in class","lastModifiedDate":"2023-08-20"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"todo be lazy","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"mark 4","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"event CS2106 Tutorial /from 2003-08-18 /to 2023-08-18","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"todo pay attention to lecture","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"delete 5","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"banana~","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"banananaaaaaaa!!!!!","lastModifiedDate":"2023-08-20"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"event GEC1005 Tutorial /from 0000-01-01 /to 9999-12-31","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"event LAJ2201 Tutorial /from 1998-09-07 /to 1998-10-10","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"unmark 1","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"deadline sleep /by 2023-10-21","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"list","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"bye","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":18}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/duke/*.java","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" echo \"********** BUILD FAILURE **********\"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":"java -classpath ../bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"TiwKangXu":1,"-":37}}] +[{"path":"data/duke.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"T | 0 | a","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"T | 0 | b","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":2}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.io.*;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.*;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.Parser;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.Storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"import duke.main.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-21"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" * A chatbot that helps to record tasks.","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" private TaskList tasks;","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" private Storage storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" private Parser parser;","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" private Ui ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" Scanner sc;","lastModifiedDate":"2023-08-20"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" public Duke() {","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" this.sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" this.storage \u003d new Storage(tasks);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" this.parser \u003d new Parser(tasks, storage);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" * Greets by chatbot.","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-21"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" private void greet() {","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"------------------------------------------\");","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\" Hello! I\u0027m Jokey :) \\n What can I do for you?\");","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"------------------------------------------\");","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" public void run() {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" storage.load();","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" greet();","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":" parser.interact();","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" Duke duke \u003d new Duke();","lastModifiedDate":"2023-08-20"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":" duke.run();","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"TiwKangXu":53,"-":4}},{"path":"src/main/java/duke/command/FirstWord.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"public enum FirstWord {","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":" BYE, LIST, MARK, UNMARK, TODO, DEADLINE, EVENT, DELETE, INVALID, FIND","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":4}},{"path":"src/main/java/duke/exception/DukeEmptyToDoException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Handles creating To Do event without description.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeEmptyToDoException extends DukeException{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"The description of a todo cannot be empty.\";","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":11}},{"path":"src/main/java/duke/exception/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Parent class of all Duke Exceptions.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeException extends Exception{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return \" :\u003c OOPS! \";","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":11}},{"path":"src/main/java/duke/exception/DukeInvalidDateFormatException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"public class DukeInvalidDateFormatException extends DukeException{","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"Invalid date format. Date format should be YYYY-MM-DD.\";","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":7}},{"path":"src/main/java/duke/exception/DukeInvalidSavedToFileLineType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Handles unknown command entered.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeInvalidSavedToFileLineType extends DukeException{","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"Wrong task type saved in disc.\";","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":12}},{"path":"src/main/java/duke/exception/DukeUnknownCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.exception;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * Handles unknown command entered.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class DukeUnknownCommandException extends DukeException{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" return super.toString() + \"I\u0027m sorry, but I don\u0027t know what that means.\";","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":12}},{"path":"src/main/java/duke/main/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import duke.command.FirstWord;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeEmptyToDoException;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeInvalidDateFormatException;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeUnknownCommandException;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" private Scanner sc;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" private Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" private TaskList tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" public Parser(TaskList tasks, Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" this.sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" this.storage \u003d storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" * Adds horizontal line for replies by chatbot.","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" * @param text","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" private void line(String text) {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(text);","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"------------------------------------------\");","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" * Lists out all tasks.","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" private void listOutTasks() {","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" String tasksList \u003d \"\";","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" for(int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":" tasksList +\u003d String.format(\"%d. %s\\n\", i + 1, tasks.get(i).toString().trim());","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" this.line(tasksList);","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" * Exits chatbot.","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":" private void exit() {","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" this.line(\" Bye~ Hope to see you again soon! \u003ew\u003c\");","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"TiwKangXu"},"content":" * Marks task as done.","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"TiwKangXu"},"content":" * @param index","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"TiwKangXu"},"content":" private void mark(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d tasks.get(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Nice! I\u0027ve marked this task as done:\\n %s\", task.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"TiwKangXu"},"content":" * Marks task as not done.","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"TiwKangXu"},"content":" * @param index","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"TiwKangXu"},"content":" private void unmark(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d tasks.get(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"TiwKangXu"},"content":" task.unmark();","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Ok, I\u0027ve marked this task as not done yet:\\n %s\", task.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"TiwKangXu"},"content":" * Adds a To Do task.","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"TiwKangXu"},"content":" * @param reply","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"TiwKangXu"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"TiwKangXu"},"content":" private void addToDo(String reply) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"TiwKangXu"},"content":" if (reply.length() \u003d\u003d \"todo\".length()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeEmptyToDoException();","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"TiwKangXu"},"content":" String taskContent \u003d reply.replace(\"todo \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d new ToDo(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"TiwKangXu"},"content":" addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"TiwKangXu"},"content":" * Adds a Deadline task.","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"TiwKangXu"},"content":" * @param reply","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"TiwKangXu"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"TiwKangXu"},"content":" private void addDeadline(String reply) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"TiwKangXu"},"content":" String taskContent \u003d reply.substring(0, reply.indexOf(\" /by\")).replace(\"deadline \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"TiwKangXu"},"content":" String due \u003d reply.substring(reply.indexOf(\"/by\") + 4);","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d new Deadline(taskContent, LocalDate.parse(due));","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"TiwKangXu"},"content":" addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"TiwKangXu"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeInvalidDateFormatException();","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"TiwKangXu"},"content":" * Adds an Event task.","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"TiwKangXu"},"content":" * @param reply","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"TiwKangXu"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"TiwKangXu"},"content":" private void addEvent(String reply) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"TiwKangXu"},"content":" String from \u003d reply.substring(reply.indexOf(\"/from\") + 6, reply.indexOf(\" /to\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"TiwKangXu"},"content":" String to \u003d reply.substring(reply.indexOf(\"/to\") + 4);","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"TiwKangXu"},"content":" String taskContent \u003d reply.substring(0, reply.indexOf(\" /from\")).replace(\"event \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":119,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":120,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":121,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d new Event(taskContent, LocalDate.parse(from), LocalDate.parse(to));","lastModifiedDate":"2023-08-27"},{"lineNumber":122,"author":{"gitId":"TiwKangXu"},"content":" addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":123,"author":{"gitId":"TiwKangXu"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":124,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeInvalidDateFormatException();","lastModifiedDate":"2023-08-27"},{"lineNumber":125,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":126,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":127,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":128,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":129,"author":{"gitId":"TiwKangXu"},"content":" * Deletes a task.","lastModifiedDate":"2023-08-27"},{"lineNumber":130,"author":{"gitId":"TiwKangXu"},"content":" * @param index","lastModifiedDate":"2023-08-27"},{"lineNumber":131,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":132,"author":{"gitId":"TiwKangXu"},"content":" private void delete(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":133,"author":{"gitId":"TiwKangXu"},"content":" Task removedTask \u003d tasks.remove(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":134,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" Noted. I\u0027ve removed this task:\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":135,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" %s\", removedTask.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":136,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Now you have %d task(s) in the list.\", tasks.size()));","lastModifiedDate":"2023-08-27"},{"lineNumber":137,"author":{"gitId":"TiwKangXu"},"content":" storage.save();","lastModifiedDate":"2023-08-27"},{"lineNumber":138,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":139,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":140,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":141,"author":{"gitId":"TiwKangXu"},"content":" * Constructs message for adding task.","lastModifiedDate":"2023-08-27"},{"lineNumber":142,"author":{"gitId":"TiwKangXu"},"content":" * @param task","lastModifiedDate":"2023-08-27"},{"lineNumber":143,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":144,"author":{"gitId":"TiwKangXu"},"content":" private void addTask(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":145,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" Got it. I\u0027ve added this task:\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":146,"author":{"gitId":"TiwKangXu"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":147,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" %s\", task.toString()));","lastModifiedDate":"2023-08-27"},{"lineNumber":148,"author":{"gitId":"TiwKangXu"},"content":" this.line(String.format(\" Now you have %d task(s) in the list.\", tasks.size()));","lastModifiedDate":"2023-08-27"},{"lineNumber":149,"author":{"gitId":"TiwKangXu"},"content":" storage.save();","lastModifiedDate":"2023-08-27"},{"lineNumber":150,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":151,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":152,"author":{"gitId":"TiwKangXu"},"content":" private void find(String reply) {","lastModifiedDate":"2023-08-28"},{"lineNumber":153,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(String.format(\" Here are the matching tasks in your list:\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":154,"author":{"gitId":"TiwKangXu"},"content":" String keyword \u003d reply.replace(\"find \", \"\");","lastModifiedDate":"2023-08-28"},{"lineNumber":155,"author":{"gitId":"TiwKangXu"},"content":" String matchingTasks \u003d tasks.find(keyword);;","lastModifiedDate":"2023-08-28"},{"lineNumber":156,"author":{"gitId":"TiwKangXu"},"content":" this.line(matchingTasks);","lastModifiedDate":"2023-08-28"},{"lineNumber":157,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":158,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":159,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":160,"author":{"gitId":"TiwKangXu"},"content":" * Triggers respective actions.","lastModifiedDate":"2023-08-27"},{"lineNumber":161,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":162,"author":{"gitId":"TiwKangXu"},"content":" public void interact() {","lastModifiedDate":"2023-08-27"},{"lineNumber":163,"author":{"gitId":"TiwKangXu"},"content":" while(true) {","lastModifiedDate":"2023-08-27"},{"lineNumber":164,"author":{"gitId":"TiwKangXu"},"content":" String reply \u003d sc.nextLine();","lastModifiedDate":"2023-08-27"},{"lineNumber":165,"author":{"gitId":"TiwKangXu"},"content":" FirstWord firstWord;","lastModifiedDate":"2023-08-27"},{"lineNumber":166,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":167,"author":{"gitId":"TiwKangXu"},"content":" firstWord \u003d FirstWord.valueOf(reply.split(\" \")[0].toUpperCase());","lastModifiedDate":"2023-08-27"},{"lineNumber":168,"author":{"gitId":"TiwKangXu"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":169,"author":{"gitId":"TiwKangXu"},"content":" firstWord \u003d FirstWord.INVALID;","lastModifiedDate":"2023-08-27"},{"lineNumber":170,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":171,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":172,"author":{"gitId":"TiwKangXu"},"content":" switch (firstWord) {","lastModifiedDate":"2023-08-27"},{"lineNumber":173,"author":{"gitId":"TiwKangXu"},"content":" case BYE:","lastModifiedDate":"2023-08-27"},{"lineNumber":174,"author":{"gitId":"TiwKangXu"},"content":" exit();","lastModifiedDate":"2023-08-27"},{"lineNumber":175,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":176,"author":{"gitId":"TiwKangXu"},"content":" case LIST:","lastModifiedDate":"2023-08-27"},{"lineNumber":177,"author":{"gitId":"TiwKangXu"},"content":" listOutTasks();","lastModifiedDate":"2023-08-27"},{"lineNumber":178,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":179,"author":{"gitId":"TiwKangXu"},"content":" case MARK:","lastModifiedDate":"2023-08-27"},{"lineNumber":180,"author":{"gitId":"TiwKangXu"},"content":" mark(Character.getNumericValue(reply.charAt(5) - 1));","lastModifiedDate":"2023-08-27"},{"lineNumber":181,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":182,"author":{"gitId":"TiwKangXu"},"content":" case UNMARK:","lastModifiedDate":"2023-08-27"},{"lineNumber":183,"author":{"gitId":"TiwKangXu"},"content":" unmark(Character.getNumericValue(reply.charAt(7) - 1));","lastModifiedDate":"2023-08-27"},{"lineNumber":184,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":185,"author":{"gitId":"TiwKangXu"},"content":" case TODO:","lastModifiedDate":"2023-08-27"},{"lineNumber":186,"author":{"gitId":"TiwKangXu"},"content":" addToDo(reply);","lastModifiedDate":"2023-08-27"},{"lineNumber":187,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":188,"author":{"gitId":"TiwKangXu"},"content":" case DEADLINE:","lastModifiedDate":"2023-08-27"},{"lineNumber":189,"author":{"gitId":"TiwKangXu"},"content":" addDeadline(reply);","lastModifiedDate":"2023-08-27"},{"lineNumber":190,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":191,"author":{"gitId":"TiwKangXu"},"content":" case EVENT:","lastModifiedDate":"2023-08-27"},{"lineNumber":192,"author":{"gitId":"TiwKangXu"},"content":" addEvent(reply);","lastModifiedDate":"2023-08-27"},{"lineNumber":193,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":194,"author":{"gitId":"TiwKangXu"},"content":" case DELETE:","lastModifiedDate":"2023-08-27"},{"lineNumber":195,"author":{"gitId":"TiwKangXu"},"content":" delete(Character.getNumericValue(reply.charAt(7) - 1));","lastModifiedDate":"2023-08-27"},{"lineNumber":196,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":197,"author":{"gitId":"TiwKangXu"},"content":" case FIND:","lastModifiedDate":"2023-08-28"},{"lineNumber":198,"author":{"gitId":"TiwKangXu"},"content":" find(reply);","lastModifiedDate":"2023-08-28"},{"lineNumber":199,"author":{"gitId":"TiwKangXu"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":200,"author":{"gitId":"TiwKangXu"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":201,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeUnknownCommandException();","lastModifiedDate":"2023-08-27"},{"lineNumber":202,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":203,"author":{"gitId":"TiwKangXu"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":204,"author":{"gitId":"TiwKangXu"},"content":" this.line(e.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":205,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":206,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":207,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":208,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":208}},{"path":"src/main/java/duke/main/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import duke.exception.DukeInvalidSavedToFileLineType;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"import java.io.BufferedWriter;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"import java.io.File;","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"import java.io.FileReader;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" TaskList tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" public Storage(TaskList tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" public void save() {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" String dataPath \u003d Paths.get(\"data\", \"duke.txt\").toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" File dataFile \u003d new File(dataPath);","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(dataFile));","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" String line \u003d task.saveToFileLine();","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" writer.write(line);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" writer.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"File duke.txt not found.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":" public void load() {","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" String dataPath \u003d Paths.get(\"data\", \"duke.txt\").toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" File dataFile \u003d new File(dataPath);","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(dataFile));","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" for (String line; (line \u003d reader.readLine()) !\u003d null;) {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" tasks.add(fileToTask(line));","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(\"File duke.txt not found.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" } catch (DukeException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" System.out.println(ex.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"TiwKangXu"},"content":" private Task fileToTask(String line) throws DukeInvalidSavedToFileLineType {","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"TiwKangXu"},"content":" String[] savedToFileLine \u003d line.split(\" \\\\| \");","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"TiwKangXu"},"content":" String type \u003d savedToFileLine[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"TiwKangXu"},"content":" String status \u003d savedToFileLine[1];","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"TiwKangXu"},"content":" String description \u003d savedToFileLine[2];","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"TiwKangXu"},"content":" switch (type) {","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"TiwKangXu"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"TiwKangXu"},"content":" return ToDo.create(status, description);","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"TiwKangXu"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"TiwKangXu"},"content":" String due \u003d savedToFileLine[3];","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"TiwKangXu"},"content":" return Deadline.create(status, description, due);","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"TiwKangXu"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"TiwKangXu"},"content":" String range \u003d savedToFileLine[3];","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"TiwKangXu"},"content":" String from \u003d range.substring(0, range.indexOf(\" to\")).replace(\"from \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"TiwKangXu"},"content":" String to \u003d range.substring(range.indexOf(\"to \")).replace(\"to \", \"\");","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"TiwKangXu"},"content":" return Event.create(status, description, from, to);","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"TiwKangXu"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"TiwKangXu"},"content":" throw new DukeInvalidSavedToFileLineType();","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":79}},{"path":"src/main/java/duke/main/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" public TaskList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" this.tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" public Task remove(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" return tasks.remove(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" public int size() {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" return tasks.size();","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" public Task get(int index) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" return tasks.get(index);","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" public String find(String keyword) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" String matchingTasks \u003d \"\";","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" int index \u003d 1;","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" Task currentTask \u003d tasks.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" if (currentTask.showContent().contains(keyword)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" matchingTasks +\u003d String.format(\" %d. %s\\n\", index, currentTask.toString().trim());","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" index +\u003d 1;","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" return matchingTasks;","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":42}},{"path":"src/main/java/duke/main/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"public class Ui {","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"TiwKangXu":4}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" * Deadline task.","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"public class Deadline extends Task{","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"// private String due;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" private LocalDate due;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" public Deadline(String taskContent, LocalDate due) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" super(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" this.due \u003d due;","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" String statusAndTaskContent \u003d super.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\" [D] %s (by: %s)\", statusAndTaskContent, due.format(formatter));","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" public static Deadline create(String status, String description, String due) {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" Deadline task \u003d new Deadline(description, LocalDate.parse(due));","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" if (status \u003d\u003d \"1\") {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" return task;","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"D | %s | %s\\n\", super.saveToFileLine(), due.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":36}},{"path":"src/main/java/duke/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":" * Event task.","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" private LocalDate from;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" private LocalDate to;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" public Event(String taskContent, LocalDate from, LocalDate to) {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" super(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" String statusAndTaskContent \u003d super.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\" [E] %s (from: %s to: %s)\",","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" statusAndTaskContent, from.format(formatter), to.format(formatter));","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" public static Event create(String status, String description, String from, String to) {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" Event task \u003d new Event(description, LocalDate.parse(from), LocalDate.parse(to));","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" if (status \u003d\u003d \"1\") {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" return task;","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"E | %s | from %s to %s\\n\", super.saveToFileLine(), from, to);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":35}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" * Class for tasks created.","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"public class Task {","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" private boolean status;","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" private String taskContent;","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" protected DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy\");","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" public Task(String reply) {","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" this.status \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" this.taskContent \u003d reply;","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" * Marks task status as done.","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" public void mark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" status \u003d true;","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":" * Marks task status as not done.","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"TiwKangXu"},"content":" public void unmark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"TiwKangXu"},"content":" status \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":34,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":36,"author":{"gitId":"TiwKangXu"},"content":" if (status) {","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"[X] %s\", taskContent);","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"TiwKangXu"},"content":" } else {","lastModifiedDate":"2023-08-20"},{"lineNumber":39,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"[ ] %s\", taskContent);","lastModifiedDate":"2023-08-20"},{"lineNumber":40,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":41,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"TiwKangXu"},"content":" public String showContent() {","lastModifiedDate":"2023-08-20"},{"lineNumber":44,"author":{"gitId":"TiwKangXu"},"content":" return taskContent;","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"%s | %s\", status ? \"1\" : \"0\", taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"TiwKangXu"},"content":" public String formatDate(LocalDate date) {","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"TiwKangXu"},"content":" return LocalDate.parse(date.toString()).format(DateTimeFormatter.ofPattern(\"MMM dd yyyy\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":54}},{"path":"src/main/java/duke/task/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":" * To Do task.","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class ToDo extends Task{","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" public ToDo(String taskContent) {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" super(taskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" String statusAndTaskContent \u003d super.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\" [T] %s\", statusAndTaskContent);","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" public static ToDo create(String status, String description) {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" ToDo task \u003d new ToDo(description);","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" if (status \u003d\u003d \"1\") {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" task.mark();","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" return task;","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" public String saveToFileLine() {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":" return String.format(\"T | %s\\n\", super.saveToFileLine());","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":28}},{"path":"src/test/java/duke/main/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"public class ParserTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" public void addEvent_toDo_createNewTask(){","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" Storage storage \u003d new Storage(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" Parser parser \u003d new Parser(taskList, storage);","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" parser.interact();","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"// System.setIn(\"event do /from 2019-10-12 /to 2020-10-12\");","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":18}},{"path":"src/test/java/duke/main/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.main;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"public class TaskListTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" public void add_newTask_taskListExpands(){","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(new Task(\"todo a\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(new Task(\"todo b\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(taskList.size(), 2);","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" public void remove_existingTask_taskListShrinks(){","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":" Task a \u003d new Task(\"todo a\");","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":" Task b \u003d new Task(\"todo b\");","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(a);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" taskList.add(b);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" Task taskRemoved \u003d taskList.remove(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(taskList.size(), 1);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(taskRemoved, b);","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":26}},{"path":"src/test/java/duke/task/ToDoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"package duke.task;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"public class ToDoTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":" public void toString_correctFormat(){","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo \u003d new ToDo(\"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(toDo.toString(), \" [T] [ ] abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":" public void create_newToDoInstance(){","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo \u003d new ToDo(\"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo1 \u003d ToDo.create(\"0\", \"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(toDo.toString(), toDo1.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TiwKangXu"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TiwKangXu"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TiwKangXu"},"content":" public void saveToFileLine_correctFormat(){","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TiwKangXu"},"content":" ToDo toDo \u003d new ToDo(\"abc\");","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TiwKangXu"},"content":" String saveToFileLine \u003d toDo.saveToFileLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TiwKangXu"},"content":" assertEquals(saveToFileLine, \"T | 0 | abc\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TiwKangXu"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TiwKangXu"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TiwKangXu":26}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"TiwKangXu"},"content":"todo wakeup happily","lastModifiedDate":"2023-08-20"},{"lineNumber":2,"author":{"gitId":"TiwKangXu"},"content":"todo step out of comfort zone","lastModifiedDate":"2023-08-20"},{"lineNumber":3,"author":{"gitId":"TiwKangXu"},"content":"mark 1","lastModifiedDate":"2023-08-20"},{"lineNumber":4,"author":{"gitId":"TiwKangXu"},"content":"event CS2101 Lecture /from 2023-08-26 /to 2023-08-27","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"TiwKangXu"},"content":"todo be engaging in class","lastModifiedDate":"2023-08-20"},{"lineNumber":6,"author":{"gitId":"TiwKangXu"},"content":"todo be lazy","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"TiwKangXu"},"content":"mark 4","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"TiwKangXu"},"content":"event CS2106 Tutorial /from 2003-08-18 /to 2023-08-18","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"TiwKangXu"},"content":"todo pay attention to lecture","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"TiwKangXu"},"content":"delete 5","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"TiwKangXu"},"content":"banana~","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"TiwKangXu"},"content":"banananaaaaaaa!!!!!","lastModifiedDate":"2023-08-20"},{"lineNumber":13,"author":{"gitId":"TiwKangXu"},"content":"event GEC1005 Tutorial /from 0000-01-01 /to 9999-12-31","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"TiwKangXu"},"content":"event LAJ2201 Tutorial /from 1998-09-07 /to 1998-10-10","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"TiwKangXu"},"content":"unmark 1","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"deadline sleep /by 2023-10-21","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"TiwKangXu"},"content":"list","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"TiwKangXu"},"content":"bye","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"TiwKangXu":18}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"TiwKangXu"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/duke/*.java","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" echo \"********** BUILD FAILURE **********\"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":"java -classpath ../bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"TiwKangXu":1,"-":37}}] diff --git a/TiwKangXu_ip_master/commits.json b/TiwKangXu_ip_master/commits.json index af618774..5cf81bf1 100644 --- a/TiwKangXu_ip_master/commits.json +++ b/TiwKangXu_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"TiwKangXu":[{"date":"2023-08-19","commitResults":[{"hash":"4411515996d916e04ffe44a1dc6031f2cf1c6a6a","isMergeCommit":false,"messageTitle":"Update Duke.java","messageBody":"","tags":["v0.1"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]},{"date":"2023-08-20","commitResults":[{"hash":"cc411399fe4819555c73614cc91701488bd651e2","isMergeCommit":false,"messageTitle":"Complete Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":6}}},{"hash":"a529d7f7c276ea5483da3b5d72139068706eb979","isMergeCommit":false,"messageTitle":"Complete Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":5}}},{"hash":"2d06203125c4137e75de2a773367e308c095bcaa","isMergeCommit":false,"messageTitle":"Complete Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":3}}},{"hash":"49814d47571d132e3055a3992c93bc7fec3ce3df","isMergeCommit":false,"messageTitle":"Complete Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":9}}},{"hash":"f41fd005f07c3133e87e9d28c7a7ef22af82a565","isMergeCommit":false,"messageTitle":"Complete Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":9}}},{"hash":"e5db8578d0f9181cb4173346ef8545ef1aca22a1","isMergeCommit":false,"messageTitle":"Complete A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":5,"deletions":5},"sh":{"insertions":0,"deletions":0}}},{"hash":"70f4fdfd213875e53a01fee827f143b0846e7466","isMergeCommit":false,"messageTitle":"Complete Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":66,"deletions":24}}},{"hash":"ac93910116df1ea950bb40f2db62e106f581c6cd","isMergeCommit":false,"messageTitle":"Complete Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":16}}},{"hash":"40111c8bfdfcf312fe7d3a74782afac992495052","isMergeCommit":false,"messageTitle":"Complete A-Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"txt":{"insertions":17,"deletions":2},"java":{"insertions":50,"deletions":49}}}]},{"date":"2023-08-21","commitResults":[{"hash":"14573be422798052c408cf32d6e22fce65205cc2","isMergeCommit":false,"messageTitle":"Add Documentation","messageBody":"","tags":["Documentation"],"fileTypesAndContributionMap":{"java":{"insertions":52,"deletions":8}}}]},{"date":"2023-08-27","commitResults":[{"hash":"7bdd68bbe15cbe123d0f7607d8ced9dea53c798b","isMergeCommit":false,"messageTitle":"Add documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":12}}},{"hash":"0479730e5966f47d3ecfd55f436439b9573f477f","isMergeCommit":false,"messageTitle":"Draft Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":7}}},{"hash":"c56d01d4d5d0776745bfcbb9fdfdd43cfbe977ef","isMergeCommit":false,"messageTitle":"Complete Level-7","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":48}}},{"hash":"49f22214470280aff0771eca11908289664ea48a","isMergeCommit":false,"messageTitle":"Complete Level-8","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":14}}},{"hash":"62b968e619ac058c91e86c99dffe86053ff1b0ab","isMergeCommit":false,"messageTitle":"Complete A-MoreOOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":5},"java":{"insertions":290,"deletions":0}}},{"hash":"58a4e179119a28bf837deded6a72a4ab5924fa28","isMergeCommit":false,"messageTitle":"Complete Level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":6}}}]},{"date":"2023-08-28","commitResults":[{"hash":"caef5f974f062553031924b6322b2f85ef8e3027","isMergeCommit":false,"messageTitle":"Complete A-Packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":232},"sh":{"insertions":1,"deletions":1}}},{"hash":"91604a9e97a8e1fb60c93066d0d641ba1aad121d","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-A-Gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"7c0e0d9d48213f69476d35a69304678d55cb185e","isMergeCommit":false,"messageTitle":"Complete A-JUnit","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":0}}},{"hash":"18e10ab5c36a677bf2b778efe4823fac969de469","isMergeCommit":false,"messageTitle":"Update A-JUnit","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":4}}}]}]},"authorFileTypeContributionMap":{"TiwKangXu":{"java":644,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":0,"txt":18}},"authorContributionVariance":{"TiwKangXu":56304.773},"authorDisplayNameMap":{"TiwKangXu":"CS2103T-W13-2 TIW ..G XU"}} +{"authorDailyContributionsMap":{"TiwKangXu":[{"date":"2023-08-19","commitResults":[{"hash":"4411515996d916e04ffe44a1dc6031f2cf1c6a6a","isMergeCommit":false,"messageTitle":"Update Duke.java","messageBody":"","tags":["v0.1"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]},{"date":"2023-08-20","commitResults":[{"hash":"cc411399fe4819555c73614cc91701488bd651e2","isMergeCommit":false,"messageTitle":"Complete Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":6}}},{"hash":"a529d7f7c276ea5483da3b5d72139068706eb979","isMergeCommit":false,"messageTitle":"Complete Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":5}}},{"hash":"2d06203125c4137e75de2a773367e308c095bcaa","isMergeCommit":false,"messageTitle":"Complete Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":3}}},{"hash":"49814d47571d132e3055a3992c93bc7fec3ce3df","isMergeCommit":false,"messageTitle":"Complete Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":9}}},{"hash":"f41fd005f07c3133e87e9d28c7a7ef22af82a565","isMergeCommit":false,"messageTitle":"Complete Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":9}}},{"hash":"e5db8578d0f9181cb4173346ef8545ef1aca22a1","isMergeCommit":false,"messageTitle":"Complete A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":5,"deletions":5},"sh":{"insertions":0,"deletions":0}}},{"hash":"70f4fdfd213875e53a01fee827f143b0846e7466","isMergeCommit":false,"messageTitle":"Complete Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":66,"deletions":24}}},{"hash":"ac93910116df1ea950bb40f2db62e106f581c6cd","isMergeCommit":false,"messageTitle":"Complete Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":16}}},{"hash":"40111c8bfdfcf312fe7d3a74782afac992495052","isMergeCommit":false,"messageTitle":"Complete A-Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"txt":{"insertions":17,"deletions":2},"java":{"insertions":50,"deletions":49}}}]},{"date":"2023-08-21","commitResults":[{"hash":"14573be422798052c408cf32d6e22fce65205cc2","isMergeCommit":false,"messageTitle":"Add Documentation","messageBody":"","tags":["Documentation"],"fileTypesAndContributionMap":{"java":{"insertions":52,"deletions":8}}}]},{"date":"2023-08-27","commitResults":[{"hash":"7bdd68bbe15cbe123d0f7607d8ced9dea53c798b","isMergeCommit":false,"messageTitle":"Add documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":12}}},{"hash":"0479730e5966f47d3ecfd55f436439b9573f477f","isMergeCommit":false,"messageTitle":"Draft Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":7}}},{"hash":"c56d01d4d5d0776745bfcbb9fdfdd43cfbe977ef","isMergeCommit":false,"messageTitle":"Complete Level-7","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":48}}},{"hash":"49f22214470280aff0771eca11908289664ea48a","isMergeCommit":false,"messageTitle":"Complete Level-8","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":14}}},{"hash":"62b968e619ac058c91e86c99dffe86053ff1b0ab","isMergeCommit":false,"messageTitle":"Complete A-MoreOOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":5},"java":{"insertions":290,"deletions":0}}},{"hash":"58a4e179119a28bf837deded6a72a4ab5924fa28","isMergeCommit":false,"messageTitle":"Complete Level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":6}}}]},{"date":"2023-08-28","commitResults":[{"hash":"caef5f974f062553031924b6322b2f85ef8e3027","isMergeCommit":false,"messageTitle":"Complete A-Packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":232},"sh":{"insertions":1,"deletions":1}}},{"hash":"91604a9e97a8e1fb60c93066d0d641ba1aad121d","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-A-Gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"7c0e0d9d48213f69476d35a69304678d55cb185e","isMergeCommit":false,"messageTitle":"Complete A-JUnit","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":0}}},{"hash":"18e10ab5c36a677bf2b778efe4823fac969de469","isMergeCommit":false,"messageTitle":"Update A-JUnit","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":4}}},{"hash":"80296a6e7726f2aedc49a814acaff939251f0454","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-A-JavaDoc","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b2cd055f5181a67fb4da7728fcac09e30de41c2b","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"2d72bf0042c8fc3a0319b68c2dd4dd6ce157843d","isMergeCommit":false,"messageTitle":"Complete A-CodingStandard","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":45}}},{"hash":"fa252c6f46993f7c2ab7c0c20e6e8e7e999c080a","isMergeCommit":false,"messageTitle":"Complete Level-9","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":1}}},{"hash":"e0748ba3dd08ab3437629487563d026e1178ed80","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"ba3bc2543552ce0a23c3dbf0a88c2df7d7f82602","isMergeCommit":false,"messageTitle":"Update Parser","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":8,"deletions":8}}}]}]},"authorFileTypeContributionMap":{"TiwKangXu":{"java":666,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":0,"txt":20}},"authorContributionVariance":{"TiwKangXu":62335.88},"authorDisplayNameMap":{"TiwKangXu":"CS2103T-W13-2 TIW ..G XU"}} diff --git a/ZD292_ip_master/authorship.json b/ZD292_ip_master/authorship.json index cde1d893..4592c982 100644 --- a/ZD292_ip_master/authorship.json +++ b/ZD292_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Chatbot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"public class Chatbot {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"\tprivate String name;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"\tChatbot(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"\t\tthis.name \u003d name;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":"\tpublic void greet() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":"\t\tString greeting \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\"Hello! I\u0027m %s\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\"What can I do for you?\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\"____________________________________________________________\", this.name);","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":"\t\tSystem.out.println(greeting);","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":18}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":3,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"// String logo \u003d \" ____ _ \\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"// + \"| _ \\\\ _ _| | _____ \\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"// + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"// + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"// + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"// System.out.println(\"Hello from\\n\" + logo);","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":" Chatbot b1 \u003d new Chatbot(\"Zhen Dong\");","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":" Scanner newScan \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":" b1.greet();","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":" while (newScan.hasNextLine()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":" String action \u003d newScan.nextLine();","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":" if (action.equals(\"bye\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"ZD292"},"content":" // exit","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"ZD292"},"content":" String echo \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"ZD292"},"content":" \"Bye. Hope to see you again soon!\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"ZD292"},"content":" \"____________________________________________________________\", action);","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"ZD292"},"content":" System.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"ZD292"},"content":" System.exit(0);","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"ZD292"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"ZD292"},"content":" String echo \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"ZD292"},"content":" \"%s\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"ZD292"},"content":" \"____________________________________________________________\", action);","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"ZD292"},"content":" System.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"ZD292"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"ZD292"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"ZD292":28,"-":4}}] +[{"path":"src/main/java/Chatbot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"public class Chatbot {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"\tprivate String name;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"\tChatbot(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":"\t\tthis.name \u003d name;","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":"\tpublic void greet() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":"\t\tString greeting \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\"Hello! I\u0027m %s\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\"What can I do for you?\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\"____________________________________________________________\", this.name);","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"ZD292"},"content":"\t\tSystem.out.println(greeting);","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"ZD292"},"content":"\tpublic void run() {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"ZD292"},"content":"\t\tScanner newScan \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"ZD292"},"content":"\t\tArrayList\u003cTask\u003e l1 \u003d new ArrayList\u003c\u003e(100);","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"ZD292"},"content":"\t\twhile (newScan.hasNextLine()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"ZD292"},"content":"\t\t\t// outer try loop to validate Scanner input","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"ZD292"},"content":"\t\t\ttry {","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"ZD292"},"content":"\t\t\t\tString action \u003d newScan.nextLine();","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"ZD292"},"content":"\t\t\t\tString[] words \u003d action.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"ZD292"},"content":"\t\t\t\tString Event \u003d words[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"ZD292"},"content":"\t\t\t\tif (words.length \u003d\u003d 1 \u0026\u0026 !Event.equals(\"list\") \u0026\u0026 !Event.equals(\"bye\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tthrow new DukeException(\"Invalid input\");","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"ZD292"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"ZD292"},"content":"\t\t\t\tif (Event.equals(\"unmark\") || Event.equals(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tint idx \u003d Integer.parseInt(words[1]) - 1;","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tif (idx + 1 \u003e l1.size()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tthrow new DukeException(\"trying to mark or unmark something beyond the list\");","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tTask t \u003d l1.get(idx);","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tif (Event.equals(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tt.markAsDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString echo \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\t\"Nice! I\u0027ve marked this task as done:\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\tt.toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\t\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tSystem.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t} else {","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tl1.get(idx).unMark();","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString echo \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\tt.toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\t\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tSystem.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"ZD292"},"content":"\t\t\t\t} else if (action.equals(\"bye\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t// exit","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString echo \u003d \"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"Bye. Hope to see you again soon!\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"____________________________________________________________\";","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tSystem.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tSystem.exit(0);","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"ZD292"},"content":"\t\t\t\t} else if (Event.equals(\"delete\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tint len \u003d l1.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString[] delete \u003d action.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tif (delete.length !\u003d 2) {","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tthrow new DukeException(\"Invalid delete args\");","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t// check for exceptions as well","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tTask t \u003d l1.get(Integer.parseInt(delete[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString remaining \u003d Integer.toString(l1.size() - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tl1.remove(Integer.parseInt(delete[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString echo \u003d String.format(\" ____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"Noted. I\u0027ve removed this task:\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"%s\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"Now you have %s tasks in the list.\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"____________________________________________________________\", t.toString(), remaining);","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tSystem.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"ZD292"},"content":"\t\t\t\t} else if (Event.equals(\"todo\") || Event.equals(\"deadline\") || Event.equals(\"event\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t// add to task to list then print list if event is list","lastModifiedDate":"2023-08-24"},{"lineNumber":81,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t// String[] slice \u003d Arrays.copyOfRange(items, 1, items.length - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString[] items \u003d action.split(\"/\");","lastModifiedDate":"2023-08-24"},{"lineNumber":83,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString[] first \u003d items[0].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":84,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString[] describe \u003d Arrays.copyOfRange(first, 1, first.length);","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString description \u003d \"\";","lastModifiedDate":"2023-08-24"},{"lineNumber":86,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tfor (String d : describe) {","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tdescription \u003d description + d + \" \";","lastModifiedDate":"2023-08-24"},{"lineNumber":88,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":89,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tif (Event.equals(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":91,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tif (first.length \u003d\u003d 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\tthrow new DukeException(\"enter todo like this, todo description\");","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tl1.add(new ToDos(description));","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t} else if (Event.equals(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString[] byCheck \u003d items[1].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tif (items.length !\u003d 2 || !byCheck[0].equals(\"by\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\tthrow new DukeException(\"enter deadline like this, deadline description /by:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString[] start \u003d items[1].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString newStart \u003d \"\";","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tfor (String s : Arrays.copyOfRange(start, 1, start.length)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\tnewStart \u003d newStart + s + \" \";","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tnewStart \u003d newStart.trim();","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tl1.add(new Deadlines(description, newStart));","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t} else {","lastModifiedDate":"2023-08-24"},{"lineNumber":108,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString[] startCheck \u003d items[1].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":109,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString[] endCheck \u003d items[2].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tif (items.length !\u003d 3 || !endCheck[0].equals(\"to\") || !startCheck[0].equals(\"from\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\tthrow new DukeException(\"enter event properly, event description /from /to\");","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString[] start \u003d items[1].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString newStart \u003d \"\";","lastModifiedDate":"2023-08-24"},{"lineNumber":115,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tfor (String s : Arrays.copyOfRange(start, 1, start.length)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\tnewStart \u003d newStart + s + \" \";","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tnewStart \u003d newStart.trim();","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString[] end \u003d items[2].split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tString newEnd \u003d \"\";","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tfor (String s : Arrays.copyOfRange(end, 1, end.length)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\tnewEnd \u003d newEnd + s + \" \";","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tnewEnd \u003d newEnd.trim();","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\tl1.add(new Events(Event, newStart, newEnd));","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tTask t \u003d l1.get(l1.size() - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tString echo \u003d String.format(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"Got it. I\u0027ve added this task:\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":130,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"%s\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":131,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"Now you have %s tasks in the list\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":132,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t\t\"____________________________________________________________\", t.toString(), l1.size());","lastModifiedDate":"2023-08-24"},{"lineNumber":133,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tSystem.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"ZD292"},"content":"\t\t\t} else if (Event.equals(\"list\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"ZD292"},"content":"\t\t\t\tString lst \u003d \"\";","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"ZD292"},"content":"\t\t\t\tfor (int i \u003d 0; i \u003c l1.size(); i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":137,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tint idx \u003d i + 1;","lastModifiedDate":"2023-08-24"},{"lineNumber":138,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\tlst +\u003d idx + \". \" + l1.get(i).toString() + \"\\n\";","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"ZD292"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"ZD292"},"content":"\t\t\t\tString echo \u003d String.format(\"____________________________________________________________\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t+ \"Here are the task in your list:\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":142,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t+ \"%s\"","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t\t+ \"____________________________________________________________\", lst);","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"ZD292"},"content":"\t\t\t\tSystem.out.println(echo);","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"ZD292"},"content":"\t\t\t} else {","lastModifiedDate":"2023-08-24"},{"lineNumber":146,"author":{"gitId":"ZD292"},"content":"\t\t\t\tthrow new DukeException(\"enter valid args\");","lastModifiedDate":"2023-08-24"},{"lineNumber":147,"author":{"gitId":"ZD292"},"content":"\t\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":148,"author":{"gitId":"ZD292"},"content":"\t\t} catch(DukeException e){","lastModifiedDate":"2023-08-24"},{"lineNumber":149,"author":{"gitId":"ZD292"},"content":"\t\t\tSystem.out.println(e.getMessage());","lastModifiedDate":"2023-08-24"},{"lineNumber":150,"author":{"gitId":"ZD292"},"content":"\t\t\tSystem.out.println(\"Enter valid string input:\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"todo\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"deadline description by:\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":153,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"event /from /to \\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":154,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"list\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":155,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"mark idx\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":156,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"unmark idx\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":157,"author":{"gitId":"ZD292"},"content":"\t\t\t\t\t+ \"bye\");","lastModifiedDate":"2023-08-24"},{"lineNumber":158,"author":{"gitId":"ZD292"},"content":"\t\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":159,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":160,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":161,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":162,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":162}},{"path":"src/main/java/Deadlines.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"public class Deadlines extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"\tprivate String endTime;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"\tpublic Deadlines(String description, String endTime) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"\t\tsuper(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"\t\tthis.endTime \u003d endTime;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"\t@Override","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":"\t\treturn \"[D]\" + super.toString() + \" (by: \" + this.endTime + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":"\tpublic String getIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":"\t\treturn \"[D]\" + super.getTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":16}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":2,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"// String logo \u003d \" ____ _ \\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"// + \"| _ \\\\ _ _| | _____ \\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"// + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"// + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"// + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"// System.out.println(\"Hello from\\n\" + logo);","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":" Chatbot b1 \u003d new Chatbot(\"Zhen Dong\");","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":" b1.greet();","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":" b1.run();","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"ZD292":10,"-":4}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"\tpublic DukeException(String e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"\t\tsuper(e);","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":9}},{"path":"src/main/java/Events.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"public class Events extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"\tprivate String startTime;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"\tprivate String endTime;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"\tpublic Events(String description, String startTime, String endTime) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"\t\tsuper(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"\t\tthis.startTime \u003d startTime;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"\t\tthis.endTime \u003d endTime;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":"\t@Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":"\t\treturn \"[E]\" + super.toString() + \" (from: \" + this.startTime + \" to: \" + this.endTime + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"ZD292"},"content":"\tpublic String getIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"ZD292"},"content":"\t\treturn \"[E]\" + super.getTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":19}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"\tprotected String description;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"\tprotected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"\tpublic Task(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"\t\tthis.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"\t\tthis.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"\tpublic void markAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":"\t\tthis.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":"\tpublic void unMark() {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":"\t\tthis.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"ZD292"},"content":"\tpublic String getTask() {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"ZD292"},"content":"\t\treturn isDone ? \"[X]\" : \"[ ]\";","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"ZD292"},"content":"\t@Override","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"ZD292"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"ZD292"},"content":"\t\treturn isDone ? \"[X]\" + \" \" + this.description : \"[ ]\" + \" \" + this.description;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":25}},{"path":"src/main/java/ToDos.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"ZD292"},"content":"public class ToDos extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"ZD292"},"content":"\tpublic ToDos(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"ZD292"},"content":"\t\tsuper(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"ZD292"},"content":"\t@Override","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"ZD292"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"ZD292"},"content":"\t\treturn \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"ZD292"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"ZD292"},"content":"\tpublic String getIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"ZD292"},"content":"\t\treturn \"[D]\" + super.getTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"ZD292"},"content":"\t}","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"ZD292"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"ZD292":15}}] diff --git a/ZD292_ip_master/commits.json b/ZD292_ip_master/commits.json index 31c25199..5cc969dd 100644 --- a/ZD292_ip_master/commits.json +++ b/ZD292_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"ZD292":[{"date":"2023-08-24","commitResults":[{"hash":"85fb8175a1af58d6166e23206494ee44d0798dde","isMergeCommit":false,"messageTitle":"L0 greeting implemented","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":6}}},{"hash":"f5a0af5c2fdfe426b27f10da276a54cde9b1d78d","isMergeCommit":false,"messageTitle":"bot can respond now","messageBody":"","tags":["Level1"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":5}}}]}]},"authorFileTypeContributionMap":{"ZD292":{"java":46,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"ZD292":470.69385},"authorDisplayNameMap":{"ZD292":"CS2103T-T10-3 ONG ..DONG"}} +{"authorDailyContributionsMap":{"ZD292":[{"date":"2023-08-24","commitResults":[{"hash":"85fb8175a1af58d6166e23206494ee44d0798dde","isMergeCommit":false,"messageTitle":"L0 greeting implemented","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":6}}},{"hash":"f5a0af5c2fdfe426b27f10da276a54cde9b1d78d","isMergeCommit":false,"messageTitle":"bot can respond now","messageBody":"","tags":["Level1"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":5}}},{"hash":"ce7de6070210390331da9054c496b2e653f45c83","isMergeCommit":false,"messageTitle":"commit level 2","messageBody":"","tags":["Level-3","Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":19}}},{"hash":"ffa5dde0f572e2cfc29d69f41a3386970d9cc6e3","isMergeCommit":false,"messageTitle":"v3 commit tasks","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":5}}},{"hash":"fb1b575c8b730de38047510491f9df7ae1aaed12","isMergeCommit":false,"messageTitle":"implemented Events","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":16}}},{"hash":"5492c2408c0f192d69d4d8d19b6c4270c683e032","isMergeCommit":false,"messageTitle":"level 5 handling exceptions","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":117,"deletions":68}}},{"hash":"8149c14da7e64d54f4ebe3a14686bbcb532cb51f","isMergeCommit":false,"messageTitle":"level 6 added a delete function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"b07af05778de6ab938ccbac37fdf4ef8f5581ea0","isMergeCommit":false,"messageTitle":"testing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"ZD292":{"java":256,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"ZD292":21413.8},"authorDisplayNameMap":{"ZD292":"CS2103T-T10-3 ONG ..DONG"}} diff --git a/aexolate_ip_master/authorship.json b/aexolate_ip_master/authorship.json index e8ccfe1c..8215d8ce 100644 --- a/aexolate_ip_master/authorship.json +++ b/aexolate_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" mainClass.set(\"carbonbot.CarbonBot\")","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" archiveFileName \u003d \u0027carbonbot.jar\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" enableAssertions \u003d true","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"checkstyle {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"aexolate":8,"-":38}},{"path":"src/main/java/carbonbot/CarbonBot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.Command;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"public class CarbonBot {","lastModifiedDate":"2023-08-21"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":" private final String saveFilePath;","lastModifiedDate":"2023-08-26"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" private final Ui ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" private final Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" private TaskList tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" public CarbonBot(String filePath) {","lastModifiedDate":"2023-08-26"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" this.saveFilePath \u003d filePath;","lastModifiedDate":"2023-08-26"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" this.tasks \u003d new TaskList(storage.load());","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" } catch (IOException | DukeException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" this.ui.showLoadingError();","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" this.tasks \u003d new TaskList();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" public void run() {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" this.ui.showGreetings();","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" while(!isExit) {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" String input \u003d this.ui.getNextInput();","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" // Ignore if the input was empty","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" if (input.isBlank()) {","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" continue;","lastModifiedDate":"2023-08-21"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" ui.printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(input);","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" c.execute(tasks, ui, storage);","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" isExit \u003d c.isExit();","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" continue;","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" ui.showMessage(e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" } finally {","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" ui.printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" String saveFilePath \u003d \"./data/tasks.txt\";","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" new CarbonBot(saveFilePath).run();","lastModifiedDate":"2023-08-26"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"aexolate":55}},{"path":"src/main/java/carbonbot/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"\tpublic DukeException(String errorMessage) {","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"\t\tsuper(errorMessage);","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":6}},{"path":"src/main/java/carbonbot/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.*;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Todo;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t * Parses the user input and returns the corresponding Command to be executed","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t * @param fullCommand The raw string the user has input","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t * @return","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\tpublic static Command parse(String fullCommand) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t\tString commandType \u003d fullCommand.split(\" \")[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t\tswitch(commandType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"bye\":","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t\t\t\treturn new ExitCommand();","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"list\":","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\t\t\treturn new ListCommand();","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"todo\":","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t\t\t\t// Get all the characters after todo as the description","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\t\t\tString desc \u003d fullCommand.substring(\"todo\".length()).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t\t\t\t// Validates if the description is empty (or only whitespaces)","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (desc.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\t\t\t} else {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\treturn new AddCommand(new Todo(desc));","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"deadline\":","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t\t\t\t// deadline: Adds a deadline Task to the list","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"\t\t\t\tint indexOfBy \u003d fullCommand.indexOf(\"/by\");","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"\t\t\t\t// Validates the existence of /by syntax","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (indexOfBy \u003d\u003d -1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! Please specify the deadline using /by.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"\t\t\t\tdesc \u003d fullCommand.substring(\"deadline\".length(), indexOfBy).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":"\t\t\t\tString by \u003d fullCommand.substring(indexOfBy + \"/by\".length()).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (desc.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The description of a deadline cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (by.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The \u0027by\u0027 of a deadline cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":"\t\t\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tLocalDateTime byDt \u003d parseDateTimeString(by);","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\treturn new AddCommand(new Deadline(desc, byDt));","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":"\t\t\t\t} catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The \u0027by\u0027 datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"event\":","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":"\t\t\t\t //event: Adds a event Task to the list","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":"\t\t\t\tint indexOfFrom \u003d fullCommand.indexOf(\"/from\");","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":"\t\t\t\tint indexOfTo \u003d fullCommand.indexOf(\"/to\");","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (indexOfFrom \u003d\u003d -1 || indexOfTo \u003d\u003d -1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! Please specify the start and end of the\" +","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\t\" event using /from and /to.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (indexOfFrom \u003e indexOfTo) {","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! Please specify the /from before the /to!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":"\t\t\t\tdesc \u003d fullCommand.substring(\"event \".length(), indexOfFrom).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":"\t\t\t\tString from \u003d fullCommand.substring(indexOfFrom + \"/from\".length(), indexOfTo).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"aexolate"},"content":"\t\t\t\tString to \u003d fullCommand.substring(indexOfTo + \"/to\".length()).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (desc.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The description of an event cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (from.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The \u0027from\u0027 of an event cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (to.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The \u0027to\u0027 of an event cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"aexolate"},"content":"\t\t\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tLocalDateTime fromDt \u003d parseDateTimeString(from);","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tLocalDateTime toDt \u003d parseDateTimeString(to);","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\treturn new AddCommand(new Event(desc, fromDt, toDt));","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"aexolate"},"content":"\t\t\t\t} catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The given datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"mark\":","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"aexolate"},"content":"\t\t\t\treturn new MarkCommand(getIntegerArgument(fullCommand), true);","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"unmark\":","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"aexolate"},"content":"\t\t\t\treturn new MarkCommand(getIntegerArgument(fullCommand), false);","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"aexolate"},"content":"\t\t\tcase \"delete\":","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"aexolate"},"content":"\t\t\t\treturn new DeleteCommand(getIntegerArgument(fullCommand));","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"aexolate"},"content":"\t\t\tdefault:","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"aexolate"},"content":"\t\t\t\tthrow new DukeException(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\" +","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\"\\nMy supported commands are: list, mark, unmark, todo, deadline, event, bye.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"aexolate"},"content":"\tprivate static LocalDateTime parseDateTimeString(String dateTime) throws DateTimeParseException {","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"aexolate"},"content":"\t\tDateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\");","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"aexolate"},"content":"\t\treturn LocalDateTime.parse(dateTime, formatter);","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"aexolate"},"content":"\tprivate static int getIntegerArgument(String fullCommand) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"aexolate"},"content":"\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"aexolate"},"content":"\t\t\treturn Integer.parseInt(fullCommand.split(\" \")[1]);","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"aexolate"},"content":"\t\t} catch (NumberFormatException nfe) {","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"Please provide a valid integer for the index.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"aexolate"},"content":"\t\t} catch (ArrayIndexOutOfBoundsException aie) {","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"No index was provided. Please enter the task index to be updated.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":119,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":120,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":120}},{"path":"src/main/java/carbonbot/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import java.io.File;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import java.util.List;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\tprivate final String filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\tpublic Storage(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t\tthis.filePath \u003d filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t * Loads the data from the storage.","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\t * @return The lines in the file in a List.","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t * @throws IOException The file data could not be fetched from the storage.","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\tpublic List\u003cString\u003e load() throws IOException {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t\t// Returns an empty list if the file does not exists","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\tif (!new File(this.filePath).exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\t\treturn new ArrayList\u003cString\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\treturn Files.readAllLines(Paths.get(filePath));","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\tpublic void write(String data) throws IOException {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\t// Create the file, and its directories if it does not already exists","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\tFile file \u003d new File(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t\tif (!file.exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t\t\tfile.getParentFile().mkdirs();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t\t\tfile.createNewFile();","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"\t\t// Writes the data to the file","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"\t\tFileWriter fw \u003d new FileWriter(file);","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"\t\tfw.write(data);","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"\t\tfw.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":44}},{"path":"src/main/java/carbonbot/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Deadline;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Event;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Todo;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import java.util.List;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\tprivate List\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\tpublic TaskList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t\tthis.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\tpublic TaskList(List\u003cString\u003e tasks) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\tthis.tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t\tfor(String str : tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\t\t\tTask task;","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\t\t\t// Split the string by its delimiter","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\t\t\tString[] cols \u003d str.split(\" \\\\| \");","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"\t\t\t\tString taskType \u003d cols[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t\t\t\tswitch (taskType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tcase \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\ttask \u003d new Todo(cols[2]);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\tbreak;","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tcase \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\tLocalDateTime byDt \u003d parseDateTimeString(cols[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\ttask \u003d new Deadline(cols[2], byDt);","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t} catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The \u0027by\u0027 datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\tbreak;","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tcase \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\tLocalDateTime fromDt \u003d parseDateTimeString(cols[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\tLocalDateTime toDt \u003d parseDateTimeString(cols[4]);","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\ttask \u003d new Event(cols[2], fromDt, toDt);","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t} catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The \u0027by\u0027 datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\tbreak;","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\tdefault:","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\tthrow new DukeException(\"Invalid File Format\");","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"\t\t\t\tif (cols[1].equals(\"1\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\ttask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":"\t\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":"\t\t\t\tthis.tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":"\t\t\t} catch (ArrayIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":"\t\t\t\tthrow new DukeException(\"☹ OOPS!!! The save file wasn\u0027t in the correct format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":"\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":"\tprivate LocalDateTime parseDateTimeString(String dateTime) throws DateTimeParseException {","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":"\t\tDateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\");","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":"\t\treturn LocalDateTime.parse(dateTime, formatter);","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":"\t * Adds a task to the list.","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":"\t * @param task Task to be added","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"aexolate"},"content":"\tpublic void add(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"aexolate"},"content":"\t\ttasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"aexolate"},"content":"\t * Deletes the task at the index.","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"aexolate"},"content":"\t * @param index 1-based index of the task","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"aexolate"},"content":"\tpublic void delete(int index) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"aexolate"},"content":"\t\tif (index \u003c\u003d tasks.size() \u0026\u0026 index \u003e\u003d 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"aexolate"},"content":"\t\t\ttasks.remove(index - 1);","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"aexolate"},"content":"\t\t} else {","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new IndexOutOfBoundsException(\"The task list does not contain the given index.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"aexolate"},"content":"\t * Fetches the task at the index.","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"aexolate"},"content":"\t * @param index 1-based index of the task","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"aexolate"},"content":"\tpublic Task get(int index) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"aexolate"},"content":"\t\tif (index \u003c\u003d tasks.size() \u0026\u0026 index \u003e\u003d 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"aexolate"},"content":"\t\t\treturn tasks.get(index - 1);","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"aexolate"},"content":"\t\t} else {","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new IndexOutOfBoundsException(\"The task list does not contain the given index.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":99,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"aexolate"},"content":"\tpublic String serialize() {","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"aexolate"},"content":"\t\tStringBuilder sb \u003d new StringBuilder();","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"aexolate"},"content":"\t\tfor (Task task : tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"aexolate"},"content":"\t\t\tsb.append(task.serialize() + \"\\n\");","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"aexolate"},"content":"\t\treturn sb.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"aexolate"},"content":"\tpublic void printList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"aexolate"},"content":"\t\tint idx \u003d 1;","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"aexolate"},"content":"\t\tfor(Task t : tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"aexolate"},"content":"\t\t\tSystem.out.println(String.format(\"%d.%s\", idx, t));","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"aexolate"},"content":"\t\t\tidx++;","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"aexolate"},"content":"\tpublic int size() {","lastModifiedDate":"2023-08-27"},{"lineNumber":119,"author":{"gitId":"aexolate"},"content":"\t\treturn this.tasks.size();","lastModifiedDate":"2023-08-27"},{"lineNumber":120,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":121,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":122,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":122}},{"path":"src/main/java/carbonbot/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"public class Ui {","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"\tprivate final Scanner scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"\tpublic Ui() {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"\t\tthis.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\tpublic void printDivider() {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t\tString DIVIDER \u003d \"____________________________________________________________\";","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t\tSystem.out.println(DIVIDER);","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t * Blocks until a line is received from System.in, and returns the input.","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t * @return The input as a string","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\tpublic String getNextInput() {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\treturn this.scanner.nextLine();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\tpublic void showGreetings() {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\tprintDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t\tSystem.out.println(\"Hello! I\u0027m CarbonBot\");","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\tSystem.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\tprintDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\tpublic void showMessage(String message) { System.out.println(message); }","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t * Prints the error message when the task list could not be loaded from disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\tpublic void showLoadingError() {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"\t\tSystem.out.println(\"Failed to load save file from disk.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"\t * Clears up the resources at the end of the Ui usage.","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"\tpublic void close() {","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"\t\tthis.scanner.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":46}},{"path":"src/main/java/carbonbot/command/AddCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"public class AddCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\tprivate final Task task;","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\tpublic AddCommand(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t\tthis.task \u003d task;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\tpublic void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t\t// Add the task to the TaskList","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\ttasks.add(this.task);","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t\tui.showMessage(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\tui.showMessage(this.task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\tui.showMessage(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\t// Save the TaskList to Storage","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t\t\tstorage.write(tasks.serialize());","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"\t\t} catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"I/O Error: Failed to write to storage. \"","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t+ ex.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":35}},{"path":"src/main/java/carbonbot/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"public abstract class Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"\tprivate boolean isExit;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\tpublic Command() {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t\tthis.isExit \u003d false;","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\tpublic Command(boolean isExit) {","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t\tthis.isExit \u003d isExit;","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\tpublic boolean isExit() {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t\treturn this.isExit;","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\tpublic abstract void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":24}},{"path":"src/main/java/carbonbot/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\tprivate int taskIdx;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\tpublic DeleteCommand(int taskIdx) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t\tthis.taskIdx \u003d taskIdx;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\tpublic void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t\t\tTask task \u003d tasks.get(taskIdx);","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\t\ttasks.delete(taskIdx);","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t\t\tui.showMessage(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\t\tui.showMessage(task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\t\tui.showMessage(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t\t} catch (IndexOutOfBoundsException ie) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"Index provided was out-of-bounds. Use the index\" +","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\" number labelled for the task in the command \u0027list\u0027!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\t\tstorage.write(tasks.serialize());","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\t} catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"I/O Error: Failed to write to storage. \"","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t+ ex.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":38}},{"path":"src/main/java/carbonbot/command/ExitCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"public class ExitCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"\tpublic ExitCommand() {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\t\tsuper(true);","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\tpublic void execute(TaskList tasks, Ui ui, Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t\tui.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t\tui.showMessage(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":18}},{"path":"src/main/java/carbonbot/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\tpublic ListCommand() {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\tpublic void execute(TaskList tasks, Ui ui, Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t\tui.showMessage(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t\ttasks.printList();","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":19}},{"path":"src/main/java/carbonbot/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\tprivate int taskIdx;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\tprivate boolean isMark;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\tpublic MarkCommand(int taskIdx, boolean isMark) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t\tthis.taskIdx \u003d taskIdx;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t\tthis.isMark \u003d isMark;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\tpublic void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t\ttry {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\t\tTask task \u003d tasks.get(taskIdx);","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t\t\tif (isMark) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t\t\t\tui.showMessage(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\t\t\ttask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\t\t} else {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t\t\t\tui.showMessage(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\t\t\ttask.markAsUndone();","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t\t\tui.showMessage(task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"\t\t} catch (IndexOutOfBoundsException ioe) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"Index provided was out-of-bounds. Use the index\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t\" number labelled for the task in the command \u0027list\u0027!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t\t// Save the TaskList to Storage","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t\ttry {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"\t\t\tstorage.write(tasks.serialize());","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"\t\t} catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"\t\t\tthrow new DukeException(\"I/O Error: Failed to write to storage. \"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\t+ ex.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"\t\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":43}},{"path":"src/main/java/carbonbot/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"\tprotected LocalDateTime by;","lastModifiedDate":"2023-08-26"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\t * Represents task that need to be done before a specific date/time","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\t * @param description \tDescription of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t * @param by\t\t\tDue date / time","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\tpublic Deadline(String description, LocalDateTime by) {","lastModifiedDate":"2023-08-26"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t\tsuper(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t\tthis.by \u003d by;","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-26"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\tpublic String serialize() {","lastModifiedDate":"2023-08-26"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t\treturn String.format(\"D | %d | %s | %s\",","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t\t\t\tsuper.isDone ? 1 : 0,","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t\t\t\tsuper.description,","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\t\t\tthis.by.format(DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-26"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t\treturn \"[D]\" + super.toString() +","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"\t\t\t\t\" (by: \" + by.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy, HH:mm\")) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":32}},{"path":"src/main/java/carbonbot/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"\tprotected LocalDateTime from;","lastModifiedDate":"2023-08-26"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"\tprotected LocalDateTime to;","lastModifiedDate":"2023-08-26"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\t * Represents task that start at a specific date/time and ends at a specific date/time","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t * @param description \tDescription of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t * @param from\t\t\tStart date / time","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t * @param to\t\t\tEnd date / time","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\tpublic Event(String description, LocalDateTime from, LocalDateTime to) {","lastModifiedDate":"2023-08-26"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t\tsuper(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t\tthis.from \u003d from;","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\t\tthis.to \u003d to;","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\tpublic String serialize() {","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\t\treturn String.format(\"E | %d | %s | %s | %s\",","lastModifiedDate":"2023-08-26"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\t\t\tsuper.isDone ? 1 : 0,","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t\t\t\tsuper.description,","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"\t\t\t\tthis.from.format(DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")),","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t\t\t\tthis.to.format(DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-26"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t\treturn \"[E]\" + super.toString()","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"\t\t\t\t+ \" (from: \" + from.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy, HH:mm\"))","lastModifiedDate":"2023-08-26"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t\t\t\t+ \" to: \" + to.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy, HH:mm\")) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":37}},{"path":"src/main/java/carbonbot/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"\tprotected String description;","lastModifiedDate":"2023-08-21"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"\tprotected boolean isDone;","lastModifiedDate":"2023-08-21"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"\t * Represents a task that has a completion status","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"\t * @param description Description of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\tpublic Task(String description) {","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"\t\tthis.description \u003d description;","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t\tthis.isDone \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\tprivate String getStatusIcon() {","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"\t\t// mark done task with X","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t\treturn (isDone ? \"[X]\" : \"[ ]\");","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"\t * Marks the task as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"\tpublic void markAsDone() {","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"\t\tthis.isDone \u003d true;","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-23"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"\t * Marks the task as undone.","lastModifiedDate":"2023-08-23"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"\tpublic void markAsUndone() {","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":"\t\tthis.isDone \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-21"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-26"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"\t * Serializes the task in a file friendly format","lastModifiedDate":"2023-08-26"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"\t * @return String representation of the task","lastModifiedDate":"2023-08-26"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-26"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"\tpublic abstract String serialize();","lastModifiedDate":"2023-08-26"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-21"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"\t\treturn getStatusIcon() + \" \" + this.description;","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-21"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"aexolate":46}},{"path":"src/main/java/carbonbot/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"\t/**","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"\t * Represents task without any date/time attached to it","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"\t * @param description Description of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"\t */","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"\tpublic Todo(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"\t\tsuper(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-26"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"\tpublic String serialize() {","lastModifiedDate":"2023-08-26"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"\t\treturn String.format(\"T | %d | %s\", super.isDone ? 1 : 0, super.description);","lastModifiedDate":"2023-08-26"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-26"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"\t@Override","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"\tpublic String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"\t\treturn \"[T]\" + super.toString();","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"\t}","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":22}},{"path":"src/test/java/carbonbot/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertInstanceOf;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.AddCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.Command;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.DeleteCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.ExitCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.ListCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"public class ParserTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" public void testParseExit() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"bye\";","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(ExitCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" public void testParseList() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"list\";","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(ListCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" public void testParseTodoAdd() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"todo sleep\";","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(AddCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" public void testParseDeadlineAdd() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"deadline lab1 assignment /by 2/12/2020 2350\";","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(AddCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" public void testParseEventAdd() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"event cs3333 lecture /from 4/12/2020 2150 /to 4/12/2020 2350\";","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(AddCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" public void testParseDelete() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"delete 2\";","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(DeleteCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" public void testParseUnknown() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"somerubbishcommand 1 2 3\";","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" assertEquals(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" + \"\\nMy supported commands are: list, mark, unmark, todo, deadline, event, bye.\",","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":72}},{"path":"src/test/java/carbonbot/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"public class StorageTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" private static final String TEST_PATH \u003d \"/cs2103-tmp/test/tasks.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" public void testWriteLoad() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" Storage storage \u003d new Storage(TEST_PATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" storage.write(\"T | 1 | eat\\nT | 1 | work\\nT | 0 | sleep\");","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" List\u003cString\u003e expected \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 1 | eat\");","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 1 | work\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 0 | sleep\");","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" assertEquals(expected, storage.load());","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" } finally {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" Files.delete(Path.of(TEST_PATH));","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" public void testWriteNonExistingFile() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" Path testPath \u003d Path.of(TEST_PATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" // Delete file if already exists","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" if (Files.exists(testPath)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" Files.delete(testPath);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" // Check if storage is able to create the file and write to it","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" Storage storage \u003d new Storage(TEST_PATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" storage.write(\"T | 1 | eat\");","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" List\u003cString\u003e expected \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 1 | eat\");","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" assertEquals(expected, storage.load());","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" Files.delete(testPath);","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":56}},{"path":"src/test/java/carbonbot/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Todo;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"public class TaskListTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" public void delete_emptyList_exceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" tasks.delete(0);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" public void get_withinBounds_noExceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" Task t1 \u003d new Todo(\"Task 1\");","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" Task t2 \u003d new Deadline(\"Task 2\", LocalDateTime.parse(\"2/12/2020 2350\",","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" tasks.add(t1);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" tasks.add(t2);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" assertEquals(tasks.get(1), t1);","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" assertEquals(tasks.get(2), t2);","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" public void get_outOfBounds_exceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" Task t1 \u003d new Todo(\"Task 1\");","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" Task t2 \u003d new Deadline(\"Task 2\", LocalDateTime.parse(\"2/12/2020 2350\",","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" tasks.add(t1);","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" tasks.add(t2);","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" tasks.get(0);","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" tasks.get(3);","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" tasks.get(-1);","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":" public void delete_outOfBounds_exceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"aexolate"},"content":" tasks.add(new Todo(\"Task 1\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"aexolate"},"content":" tasks.add(new Todo(\"Task 2\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"aexolate"},"content":" // No Task at Index 3","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"aexolate"},"content":" tasks.delete(3);","lastModifiedDate":"2023-08-28"},{"lineNumber":79,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":80,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":81,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":82,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":83,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":84,"author":{"gitId":"aexolate"},"content":" // Delete Task 1","lastModifiedDate":"2023-08-28"},{"lineNumber":85,"author":{"gitId":"aexolate"},"content":" tasks.delete(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":86,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":87,"author":{"gitId":"aexolate"},"content":" // No Task at Index 2","lastModifiedDate":"2023-08-28"},{"lineNumber":88,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":89,"author":{"gitId":"aexolate"},"content":" tasks.delete(2);","lastModifiedDate":"2023-08-28"},{"lineNumber":90,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":92,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":93,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":94,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":95,"author":{"gitId":"aexolate"},"content":" tasks.delete(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":96,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":97,"author":{"gitId":"aexolate"},"content":" // No Task at Index 1","lastModifiedDate":"2023-08-28"},{"lineNumber":98,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":99,"author":{"gitId":"aexolate"},"content":" tasks.delete(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":100,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":101,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":102,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":103,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":104,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":105,"author":{"gitId":"aexolate"},"content":" // No Task at Index 0","lastModifiedDate":"2023-08-28"},{"lineNumber":106,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":107,"author":{"gitId":"aexolate"},"content":" tasks.delete(0);","lastModifiedDate":"2023-08-28"},{"lineNumber":108,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":109,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":110,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":111,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":112,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":113,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":114,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":114}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"todo borrow book","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"deadline return book /by 2/12/2019 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"event project meeting /from 2/12/2020 1800 /to 2/12/2020 2350","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"mark 2","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"mark 3","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"mark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"unmark 2","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"todo","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"todo","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"deadline do homework","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"deadline do homework /by","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"deadline /by 2/12/2024 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"event lecture","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"event lecture /from","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"event lecture /from /to","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"event lecture /from 2/12/2020 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"event lecture /to 2/12/2020 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"event /from 2/12/2020 1800 /to 4/12/2020 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"delete 2","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"delete 1","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"delete 3","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"delete 1","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"delete 1","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":31}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\carbonbot\\*.java","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"java -classpath ..\\bin CarbonBot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"aexolate":2,"-":19}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" echo \"********** BUILD FAILURE **********\"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"java -classpath ../bin CarbonBot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"aexolate":1,"-":37}}] +[{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" mainClass.set(\"carbonbot.CarbonBot\")","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" archiveFileName \u003d \u0027carbonbot.jar\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" enableAssertions \u003d true","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"checkstyle {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"aexolate":8,"-":38}},{"path":"src/main/java/carbonbot/CarbonBot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.Command;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" * CarbonBot is a simple chatbot that helps to keep track of various things such as tasks.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"public class CarbonBot {","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" private final String saveFilePath;","lastModifiedDate":"2023-08-26"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" private final Ui ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" private final Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" private TaskList tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" * Constructs a CarbonBot object that will read and write its data to the specified file path.","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" * @param filePath Path to save file","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" public CarbonBot(String filePath) {","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" this.saveFilePath \u003d filePath;","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" this.tasks \u003d new TaskList(storage.load());","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" } catch (IOException | DukeException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" this.ui.showLoadingError();","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" this.tasks \u003d new TaskList();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" * Executes CarbonBot to start running","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" public void run() {","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" this.ui.showGreetings();","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" while (!isExit) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" String input \u003d this.ui.getNextInput();","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" // Ignore if the input was empty","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" if (input.isBlank()) {","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" continue;","lastModifiedDate":"2023-08-21"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" ui.printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(input);","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" c.execute(tasks, ui, storage);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" isExit \u003d c.isExit();","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" continue;","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" ui.showMessage(e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" } finally {","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" ui.printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" * Starting point of the program.","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" * @param args Arguments (unused at the moment)","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":" String saveFilePath \u003d \"./data/tasks.txt\";","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" new CarbonBot(saveFilePath).run();","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"aexolate":73}},{"path":"src/main/java/carbonbot/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":" * Thrown to indicate that an exception occurred that is specific to Duke.","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" * Constructs a DukeException with the specified detail message.","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":" * @param errorMessage Error Message","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" public DukeException(String errorMessage) {","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" super(errorMessage);","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":16}},{"path":"src/main/java/carbonbot/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.AddCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.Command;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.DeleteCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.ExitCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.FindCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.ListCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.MarkCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Event;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Todo;","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" * The Parser class helps to parse user input strings to return the appropriate Command.","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" * Parses the user input and returns the corresponding Command to be executed","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" * @param fullCommand The raw string the user has input","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" * @return","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" public static Command parse(String fullCommand) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" String commandType \u003d fullCommand.split(\" \")[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" switch (commandType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" case \"bye\":","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" return new ExitCommand();","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" case \"list\":","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" return new ListCommand();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" case \"todo\":","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" // Get all the characters after todo as the description","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" String desc \u003d fullCommand.substring(\"todo\".length()).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" // Validates if the description is empty (or only whitespaces)","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" if (desc.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" } else {","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" return new AddCommand(new Todo(desc));","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" // deadline: Adds a deadline Task to the list","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" int indexOfBy \u003d fullCommand.indexOf(\"/by\");","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" // Validates the existence of /by syntax","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" if (indexOfBy \u003d\u003d -1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! Please specify the deadline using /by.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":" desc \u003d fullCommand.substring(\"deadline\".length(), indexOfBy).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" String by \u003d fullCommand.substring(indexOfBy + \"/by\".length()).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" if (desc.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The description of a deadline cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" if (by.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The \u0027by\u0027 of a deadline cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" LocalDateTime byDt \u003d parseDateTimeString(by);","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" return new AddCommand(new Deadline(desc, byDt));","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" } catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The \u0027by\u0027 datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":" case \"event\":","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" //event: Adds a event Task to the list","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":" int indexOfFrom \u003d fullCommand.indexOf(\"/from\");","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"aexolate"},"content":" int indexOfTo \u003d fullCommand.indexOf(\"/to\");","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"aexolate"},"content":" if (indexOfFrom \u003d\u003d -1 || indexOfTo \u003d\u003d -1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! Please specify the start and end of the\"","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"aexolate"},"content":" + \" event using /from and /to.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"aexolate"},"content":" if (indexOfFrom \u003e indexOfTo) {","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! Please specify the /from before the /to!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"aexolate"},"content":" desc \u003d fullCommand.substring(\"event \".length(), indexOfFrom).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"aexolate"},"content":" String from \u003d fullCommand.substring(indexOfFrom + \"/from\".length(), indexOfTo).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"aexolate"},"content":" String to \u003d fullCommand.substring(indexOfTo + \"/to\".length()).trim();","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"aexolate"},"content":" if (desc.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The description of an event cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"aexolate"},"content":" if (from.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The \u0027from\u0027 of an event cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"aexolate"},"content":" if (to.isBlank()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The \u0027to\u0027 of an event cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"aexolate"},"content":" LocalDateTime fromDt \u003d parseDateTimeString(from);","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"aexolate"},"content":" LocalDateTime toDt \u003d parseDateTimeString(to);","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"aexolate"},"content":" return new AddCommand(new Event(desc, fromDt, toDt));","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"aexolate"},"content":" } catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The given datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"aexolate"},"content":" case \"mark\":","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"aexolate"},"content":" return new MarkCommand(getIntegerArgument(fullCommand), true);","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"aexolate"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"aexolate"},"content":" return new MarkCommand(getIntegerArgument(fullCommand), false);","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"aexolate"},"content":" case \"delete\":","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"aexolate"},"content":" return new DeleteCommand(getIntegerArgument(fullCommand));","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"aexolate"},"content":" case \"find\":","lastModifiedDate":"2023-08-28"},{"lineNumber":110,"author":{"gitId":"aexolate"},"content":" String keyword \u003d fullCommand.substring(\"find\".length()).trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":111,"author":{"gitId":"aexolate"},"content":" return new FindCommand(keyword);","lastModifiedDate":"2023-08-28"},{"lineNumber":112,"author":{"gitId":"aexolate"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":114,"author":{"gitId":"aexolate"},"content":" + \"\\nMy supported commands are: list, mark, unmark, todo, deadline, event, bye.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":115,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":119,"author":{"gitId":"aexolate"},"content":" private static LocalDateTime parseDateTimeString(String dateTime) throws DateTimeParseException {","lastModifiedDate":"2023-08-27"},{"lineNumber":120,"author":{"gitId":"aexolate"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\");","lastModifiedDate":"2023-08-27"},{"lineNumber":121,"author":{"gitId":"aexolate"},"content":" return LocalDateTime.parse(dateTime, formatter);","lastModifiedDate":"2023-08-27"},{"lineNumber":122,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":123,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":124,"author":{"gitId":"aexolate"},"content":" private static int getIntegerArgument(String fullCommand) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":125,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":126,"author":{"gitId":"aexolate"},"content":" return Integer.parseInt(fullCommand.split(\" \")[1]);","lastModifiedDate":"2023-08-27"},{"lineNumber":127,"author":{"gitId":"aexolate"},"content":" } catch (NumberFormatException nfe) {","lastModifiedDate":"2023-08-27"},{"lineNumber":128,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"Please provide a valid integer for the index.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":129,"author":{"gitId":"aexolate"},"content":" } catch (ArrayIndexOutOfBoundsException aie) {","lastModifiedDate":"2023-08-27"},{"lineNumber":130,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"No index was provided. Please enter the task index to be updated.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":131,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":132,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":133,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":134,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":134}},{"path":"src/main/java/carbonbot/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.File;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import java.util.List;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" * Storage provides operations to write and read from the disk.","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" private final String filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" * Constructs a Storage to interact with the file at the provided file path.","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" * @param filePath Path to the file","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" * Loads the data from the file.","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" * @return The lines in the file in a List.","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" * @throws IOException The file data could not be fetched from the file.","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" public List\u003cString\u003e load() throws IOException {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" // Returns an empty list if the file does not exists","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" if (!new File(this.filePath).exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" return new ArrayList\u003cString\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" return Files.readAllLines(Paths.get(filePath));","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" * Writes data to the file. Note that it overwrites instead of append to file.","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" * @param data The data to be written in the file.","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" * @throws IOException The data could not be written to the file.","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" public void write(String data) throws IOException {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" // Create the file, and its directories if it does not already exist","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" File file \u003d new File(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" file.getParentFile().mkdirs();","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" file.createNewFile();","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":" // Writes the data to the file","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" FileWriter fw \u003d new FileWriter(file);","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" fw.write(data);","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" fw.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":60}},{"path":"src/main/java/carbonbot/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.util.List;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Event;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Todo;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" * TaskList contains the task list and provides operations to interact with the tasks in the list.","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" private final List\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" * Constructs an empty list of tasks.","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" public TaskList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" * Constructs a list of tasks based on the serialized list of tasks.","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" public TaskList(List\u003cString\u003e tasks) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" this.tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" for (String str : tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" Task task;","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" // Split the string by its delimiter","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" String[] cols \u003d str.split(\" \\\\| \");","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" String taskType \u003d cols[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" task \u003d new Todo(cols[2]);","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" LocalDateTime byDt \u003d parseDateTimeString(cols[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" task \u003d new Deadline(cols[2], byDt);","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" } catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The \u0027by\u0027 datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":" LocalDateTime fromDt \u003d parseDateTimeString(cols[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" LocalDateTime toDt \u003d parseDateTimeString(cols[4]);","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" task \u003d new Event(cols[2], fromDt, toDt);","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" } catch (DateTimeParseException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The \u0027by\u0027 datetime was not in a valid format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"Invalid File Format\");","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" if (cols[1].equals(\"1\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" this.tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" } catch (ArrayIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"☹ OOPS!!! The save file wasn\u0027t in the correct format.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"aexolate"},"content":" private LocalDateTime parseDateTimeString(String dateTime) throws DateTimeParseException {","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"aexolate"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\");","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"aexolate"},"content":" return LocalDateTime.parse(dateTime, formatter);","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"aexolate"},"content":" * Adds a task to the list.","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":83,"author":{"gitId":"aexolate"},"content":" * @param task Task to be added","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"aexolate"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"aexolate"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"aexolate"},"content":" * Deletes the task at the index.","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":92,"author":{"gitId":"aexolate"},"content":" * @param index 1-based index of the task","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"aexolate"},"content":" public void delete(int index) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"aexolate"},"content":" if (index \u003c\u003d tasks.size() \u0026\u0026 index \u003e\u003d 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"aexolate"},"content":" tasks.remove(index - 1);","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"aexolate"},"content":" } else {","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"aexolate"},"content":" throw new IndexOutOfBoundsException(\"The task list does not contain the given index.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"aexolate"},"content":" * Fetches the task at the index.","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":105,"author":{"gitId":"aexolate"},"content":" * @param index 1-based index of the task","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"aexolate"},"content":" public Task get(int index) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"aexolate"},"content":" if (index \u003c\u003d tasks.size() \u0026\u0026 index \u003e\u003d 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"aexolate"},"content":" return tasks.get(index - 1);","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"aexolate"},"content":" } else {","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"aexolate"},"content":" throw new IndexOutOfBoundsException(\"The task list does not contain the given index.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":112,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":116,"author":{"gitId":"aexolate"},"content":" * Serializes the tasks in the list to a String","lastModifiedDate":"2023-08-28"},{"lineNumber":117,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":118,"author":{"gitId":"aexolate"},"content":" * @return Serialized tasks","lastModifiedDate":"2023-08-28"},{"lineNumber":119,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":120,"author":{"gitId":"aexolate"},"content":" public String serialize() {","lastModifiedDate":"2023-08-27"},{"lineNumber":121,"author":{"gitId":"aexolate"},"content":" StringBuilder sb \u003d new StringBuilder();","lastModifiedDate":"2023-08-27"},{"lineNumber":122,"author":{"gitId":"aexolate"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":123,"author":{"gitId":"aexolate"},"content":" sb.append(task.serialize() + \"\\n\");","lastModifiedDate":"2023-08-27"},{"lineNumber":124,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":125,"author":{"gitId":"aexolate"},"content":" return sb.toString();","lastModifiedDate":"2023-08-27"},{"lineNumber":126,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":127,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":128,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":129,"author":{"gitId":"aexolate"},"content":" * Prints the tasks in the list","lastModifiedDate":"2023-08-28"},{"lineNumber":130,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":131,"author":{"gitId":"aexolate"},"content":" public void printList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":132,"author":{"gitId":"aexolate"},"content":" int idx \u003d 1;","lastModifiedDate":"2023-08-27"},{"lineNumber":133,"author":{"gitId":"aexolate"},"content":" for (Task t : tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":134,"author":{"gitId":"aexolate"},"content":" System.out.println(String.format(\"%d.%s\", idx, t));","lastModifiedDate":"2023-08-27"},{"lineNumber":135,"author":{"gitId":"aexolate"},"content":" idx++;","lastModifiedDate":"2023-08-27"},{"lineNumber":136,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":137,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":138,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":139,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":140,"author":{"gitId":"aexolate"},"content":" * Returns the number of tasks in the list","lastModifiedDate":"2023-08-28"},{"lineNumber":141,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":142,"author":{"gitId":"aexolate"},"content":" * @return Size of the list","lastModifiedDate":"2023-08-28"},{"lineNumber":143,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":144,"author":{"gitId":"aexolate"},"content":" public int size() {","lastModifiedDate":"2023-08-27"},{"lineNumber":145,"author":{"gitId":"aexolate"},"content":" return this.tasks.size();","lastModifiedDate":"2023-08-27"},{"lineNumber":146,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":147,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":147}},{"path":"src/main/java/carbonbot/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":" * Ui deals with interactions with the user such as receiving inputs and printing outputs.","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"public class Ui {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" private final Scanner scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" * Constructs a new Ui that takes input from System.in, and outputs to System.out","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" public Ui() {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" this.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" * Prints a line of divider","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" public void printDivider() {","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" String divider \u003d \"____________________________________________________________\";","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" System.out.println(divider);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" * Blocks until a line is received from System.in, and returns the input.","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" * @return The input as a string","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" public String getNextInput() {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" return this.scanner.nextLine();","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" * Prints a greeting to welcome the user and ask for input.","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" public void showGreetings() {","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" System.out.println(\"Hello! I\u0027m CarbonBot\");","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" * Displays the message through System.out.","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" * @param message Message to be displayed.","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" public void showMessage(String message) {","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" System.out.println(message);","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":" * Prints the error message when the task list could not be loaded from disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" public void showLoadingError() {","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" System.out.println(\"Failed to load save file from disk.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":" * Clears up the resources at the end of the Ui usage.","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" public void close() {","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" this.scanner.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":67}},{"path":"src/main/java/carbonbot/command/AddCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" * The command adds a task to the task list and saves the list to disk.","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"public class AddCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" private final Task task;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" * Constructs an AddCommand object that will add the provided task","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" * @param task Task to be added to the list","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" public AddCommand(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" this.task \u003d task;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" public void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" // Add the task to the TaskList","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" tasks.add(this.task);","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" ui.showMessage(this.task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" // Save the TaskList to Storage","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" storage.write(tasks.serialize());","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"I/O Error: Failed to write to storage. \"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" + ex.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":43}},{"path":"src/main/java/carbonbot/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" * This abstract class is the superclass of all classes representing a command that CarbonBot supports.","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"public abstract class Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" private final boolean isExit;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" * Constructs a Command that should not cause the bot to exit.","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" public Command() {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" this.isExit \u003d false;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" * Constructs a Command that might exit depending on the argument.","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" * @param isExit Whether the command should cause the bot to exit","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" public Command(boolean isExit) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" this.isExit \u003d isExit;","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" * Whether the command should cause the bot to exit.","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" * @return Boolean value if the bot should exit after the command is executed","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" public boolean isExit() {","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" return this.isExit;","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" * Executes this command. The command might interact with the TaskList, Ui, and Storage.","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" * @param tasks Task List","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" * @param ui UI","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" * @param storage Storage","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" * @throws DukeException Any error that occurs due to the command","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" public abstract void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":48}},{"path":"src/main/java/carbonbot/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" * The command deletes a task from the task list and saves the list to disk.","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" private final int taskIdx;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" * Constructs a DeleteCommand object that will delete the task at the provided index","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" * @param taskIdx Task index to be deleted from the list","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" public DeleteCommand(int taskIdx) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" this.taskIdx \u003d taskIdx;","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" public void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" Task task \u003d tasks.get(taskIdx);","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" tasks.delete(taskIdx);","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" ui.showMessage(task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" } catch (IndexOutOfBoundsException ie) {","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"Index provided was out-of-bounds. Use the index\"","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" + \" number labelled for the task in the command \u0027list\u0027!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" storage.write(tasks.serialize());","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"I/O Error: Failed to write to storage. \"","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" + ex.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":47}},{"path":"src/main/java/carbonbot/command/ExitCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" * The command will close the Ui and exit the chat bot.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"public class ExitCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" * Constructs a ExitCommand object with isExit set to true.","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" public ExitCommand() {","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" super(true);","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" public void execute(TaskList tasks, Ui ui, Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" ui.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":24}},{"path":"src/main/java/carbonbot/command/FindCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" * The command will search for tasks given a keyword","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"public class FindCommand extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" private final String keyword;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" * Constructs a FindCommand object with the provided keyword.","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" public FindCommand(String keyword) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" this.keyword \u003d keyword;","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" public void execute(TaskList tasks, Ui ui, Storage storage) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Here are the matching tasks in your list:\");","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" for (int i \u003d 1; i \u003c\u003d tasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" Task t \u003d tasks.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" if (t.getDescription().contains(keyword)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" ui.showMessage(i + \".\" + t.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":31}},{"path":"src/main/java/carbonbot/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" * The command lists all the tasks in the task list.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" * Constructs a ListCommand object.","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" public ListCommand() {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" public void execute(TaskList tasks, Ui ui, Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" tasks.printList();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":23}},{"path":"src/main/java/carbonbot/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.command;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import carbonbot.DukeException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import carbonbot.Storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import carbonbot.TaskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import carbonbot.Ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" * The command sets the marked status of a task in the task list.","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" private final int taskIdx;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" private final boolean isMark;","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" * Constructs a MarkCommand object.","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" * @param isMark The mark status of the task","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" * @param taskIdx The task index to modify the mark status","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" public MarkCommand(int taskIdx, boolean isMark) {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" this.taskIdx \u003d taskIdx;","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" this.isMark \u003d isMark;","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" public void execute(TaskList tasks, Ui ui, Storage storage) throws DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" Task task \u003d tasks.get(taskIdx);","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" if (isMark) {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" } else {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" ui.showMessage(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" task.markAsUndone();","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" ui.showMessage(task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" } catch (IndexOutOfBoundsException ioe) {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"Index provided was out-of-bounds. Use the index\"","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" + \" number labelled for the task in the command \u0027list\u0027!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" // Save the TaskList to Storage","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" storage.write(tasks.serialize());","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" throw new DukeException(\"I/O Error: Failed to write to storage. \"","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" + ex.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"aexolate":54}},{"path":"src/main/java/carbonbot/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":" * Represents task that need to be done before a specific date/time","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" protected LocalDateTime by;","lastModifiedDate":"2023-08-26"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" * Constructs a deadline task with the provided description and due datetime.","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" * @param description Description of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" * @param by Due date / time","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" public Deadline(String description, LocalDateTime by) {","lastModifiedDate":"2023-08-26"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" public String serialize() {","lastModifiedDate":"2023-08-26"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" return String.format(\"D | %d | %s | %s\",","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" super.isDone ? 1 : 0,","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" super.description,","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" this.by.format(DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-26"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" return \"[D]\" + super.toString()","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" + \" (by: \" + by.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy, HH:mm\")) + \")\";","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":36}},{"path":"src/main/java/carbonbot/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":" * Represents task that start at a specific date/time and ends at a specific date/time","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" protected LocalDateTime from;","lastModifiedDate":"2023-08-26"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":" protected LocalDateTime to;","lastModifiedDate":"2023-08-26"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" * Constructs an Event task with the provided description, start datetime, and end datetime.","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" * @param description Description of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" * @param from Start date / time","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" * @param to End date / time","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" public Event(String description, LocalDateTime from, LocalDateTime to) {","lastModifiedDate":"2023-08-26"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" public String serialize() {","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" return String.format(\"E | %d | %s | %s | %s\",","lastModifiedDate":"2023-08-26"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" super.isDone ? 1 : 0,","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" super.description,","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" this.from.format(DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")),","lastModifiedDate":"2023-08-26"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" this.to.format(DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-26"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" return \"[E]\" + super.toString()","lastModifiedDate":"2023-08-26"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" + \" (from: \" + from.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy, HH:mm\"))","lastModifiedDate":"2023-08-26"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" + \" to: \" + to.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy, HH:mm\")) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":41}},{"path":"src/main/java/carbonbot/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":" * This abstract class is the superclass of all classes representing a task.","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":" protected String description;","lastModifiedDate":"2023-08-21"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":" * Constructs a task that has a completion status","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" * @param description Description of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" private String getStatusIcon() {","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" // mark done task with X","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" return (isDone ? \"[X]\" : \"[ ]\");","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" * Marks the task as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-21"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" * Marks the task as undone.","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" public void markAsUndone() {","lastModifiedDate":"2023-08-21"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" * Serializes the task in a file friendly format","lastModifiedDate":"2023-08-26"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" * @return String representation of the task","lastModifiedDate":"2023-08-26"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" public abstract String serialize();","lastModifiedDate":"2023-08-26"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" return description;","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" return getStatusIcon() + \" \" + this.description;","lastModifiedDate":"2023-08-21"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"aexolate":54}},{"path":"src/main/java/carbonbot/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot.task;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":" * Represents task without any date/time attached to it","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":" * Constructs a Todo task with the provided description.","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":" *","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":" * @param description Description of the task","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" public String serialize() {","lastModifiedDate":"2023-08-26"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" return String.format(\"T | %d | %s\", super.isDone ? 1 : 0, super.description);","lastModifiedDate":"2023-08-26"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":26}},{"path":"src/test/java/carbonbot/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertInstanceOf;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.AddCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.Command;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.DeleteCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.ExitCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"import carbonbot.command.ListCommand;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"public class ParserTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" public void testParseExit() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"bye\";","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(ExitCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" public void testParseList() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"list\";","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(ListCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" public void testParseTodoAdd() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"todo sleep\";","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(AddCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" public void testParseDeadlineAdd() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"deadline lab1 assignment /by 2/12/2020 2350\";","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(AddCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" public void testParseEventAdd() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"event cs3333 lecture /from 4/12/2020 2150 /to 4/12/2020 2350\";","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(AddCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" public void testParseDelete() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"delete 2\";","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" assertInstanceOf(DeleteCommand.class, c);","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" public void testParseUnknown() throws DukeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" String fullCommand \u003d \"somerubbishcommand 1 2 3\";","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":" Command c \u003d Parser.parse(fullCommand);","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" assertEquals(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" + \"\\nMy supported commands are: list, mark, unmark, todo, deadline, event, bye.\",","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":72}},{"path":"src/test/java/carbonbot/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"public class StorageTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":" private static final String TEST_PATH \u003d \"/cs2103-tmp/test/tasks.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" public void testWriteLoad() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" Storage storage \u003d new Storage(TEST_PATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" storage.write(\"T | 1 | eat\\nT | 1 | work\\nT | 0 | sleep\");","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" List\u003cString\u003e expected \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 1 | eat\");","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 1 | work\");","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 0 | sleep\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" assertEquals(expected, storage.load());","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" } finally {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" Files.delete(Path.of(TEST_PATH));","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" public void testWriteNonExistingFile() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" Path testPath \u003d Path.of(TEST_PATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":" // Delete file if already exists","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" if (Files.exists(testPath)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" Files.delete(testPath);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" // Check if storage is able to create the file and write to it","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" Storage storage \u003d new Storage(TEST_PATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" storage.write(\"T | 1 | eat\");","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":" List\u003cString\u003e expected \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" expected.add(\"T | 1 | eat\");","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" assertEquals(expected, storage.load());","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" Files.delete(testPath);","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":55}},{"path":"src/test/java/carbonbot/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"package carbonbot;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"import carbonbot.task.Todo;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"public class TaskListTest {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":" public void delete_emptyList_exceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":" tasks.delete(0);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":" public void get_withinBounds_noExceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":" Task t1 \u003d new Todo(\"Task 1\");","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":" Task t2 \u003d new Deadline(\"Task 2\", LocalDateTime.parse(\"2/12/2020 2350\",","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"aexolate"},"content":" DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"aexolate"},"content":" tasks.add(t1);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"aexolate"},"content":" tasks.add(t2);","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"aexolate"},"content":" assertEquals(tasks.get(1), t1);","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"aexolate"},"content":" assertEquals(tasks.get(2), t2);","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"aexolate"},"content":" public void get_outOfBounds_exceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"aexolate"},"content":" Task t1 \u003d new Todo(\"Task 1\");","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"aexolate"},"content":" Task t2 \u003d new Deadline(\"Task 2\", LocalDateTime.parse(\"2/12/2020 2350\",","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"aexolate"},"content":" DateTimeFormatter.ofPattern(\"d/M/yyyy HHmm\")));","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"aexolate"},"content":" tasks.add(t1);","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"aexolate"},"content":" tasks.add(t2);","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"aexolate"},"content":" tasks.get(0);","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"aexolate"},"content":" tasks.get(3);","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"aexolate"},"content":" tasks.get(-1);","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"aexolate"},"content":" @Test","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"aexolate"},"content":" public void delete_outOfBounds_exceptionThrown() {","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"aexolate"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"aexolate"},"content":" tasks.add(new Todo(\"Task 1\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"aexolate"},"content":" tasks.add(new Todo(\"Task 2\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"aexolate"},"content":" // No Task at Index 3","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"aexolate"},"content":" tasks.delete(3);","lastModifiedDate":"2023-08-28"},{"lineNumber":79,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":80,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":81,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":82,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":83,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":84,"author":{"gitId":"aexolate"},"content":" // Delete Task 1","lastModifiedDate":"2023-08-28"},{"lineNumber":85,"author":{"gitId":"aexolate"},"content":" tasks.delete(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":86,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":87,"author":{"gitId":"aexolate"},"content":" // No Task at Index 2","lastModifiedDate":"2023-08-28"},{"lineNumber":88,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":89,"author":{"gitId":"aexolate"},"content":" tasks.delete(2);","lastModifiedDate":"2023-08-28"},{"lineNumber":90,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":92,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":93,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":94,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":95,"author":{"gitId":"aexolate"},"content":" tasks.delete(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":96,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":97,"author":{"gitId":"aexolate"},"content":" // No Task at Index 1","lastModifiedDate":"2023-08-28"},{"lineNumber":98,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":99,"author":{"gitId":"aexolate"},"content":" tasks.delete(1);","lastModifiedDate":"2023-08-28"},{"lineNumber":100,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":101,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":102,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":103,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":104,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":105,"author":{"gitId":"aexolate"},"content":" // No Task at Index 0","lastModifiedDate":"2023-08-28"},{"lineNumber":106,"author":{"gitId":"aexolate"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":107,"author":{"gitId":"aexolate"},"content":" tasks.delete(0);","lastModifiedDate":"2023-08-28"},{"lineNumber":108,"author":{"gitId":"aexolate"},"content":" fail();","lastModifiedDate":"2023-08-28"},{"lineNumber":109,"author":{"gitId":"aexolate"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":110,"author":{"gitId":"aexolate"},"content":" assertEquals(\"The task list does not contain the given index.\", e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":111,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":112,"author":{"gitId":"aexolate"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":113,"author":{"gitId":"aexolate"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":114,"author":{"gitId":"aexolate"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"aexolate":114}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"aexolate"},"content":"todo borrow book","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"aexolate"},"content":"deadline return book /by 2/12/2019 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"aexolate"},"content":"event project meeting /from 2/12/2020 1800 /to 2/12/2020 2350","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"aexolate"},"content":"mark 2","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"aexolate"},"content":"mark 3","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"aexolate"},"content":"mark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"aexolate"},"content":"unmark 2","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"aexolate"},"content":"todo","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"aexolate"},"content":"todo","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"aexolate"},"content":"deadline do homework","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"aexolate"},"content":"deadline do homework /by","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"aexolate"},"content":"deadline /by 2/12/2024 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":16,"author":{"gitId":"aexolate"},"content":"event lecture","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"aexolate"},"content":"event lecture /from","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"event lecture /from /to","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"aexolate"},"content":"event lecture /from 2/12/2020 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":20,"author":{"gitId":"aexolate"},"content":"event lecture /to 2/12/2020 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":21,"author":{"gitId":"aexolate"},"content":"event /from 2/12/2020 1800 /to 4/12/2020 1800","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"delete 2","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"aexolate"},"content":"delete 1","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"aexolate"},"content":"delete 3","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"aexolate"},"content":"delete 1","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"aexolate"},"content":"delete 1","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"aexolate"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"aexolate"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"aexolate":31}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"aexolate"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\carbonbot\\*.java","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"aexolate"},"content":"java -classpath ..\\bin CarbonBot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"aexolate":2,"-":19}},{"path":"text-ui-test/runtest.sh","fileType":"sh","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env bash","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"# create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if [ ! -d \"../bin\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":" mkdir ../bin","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"# delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"if [ -e \"./ACTUAL.TXT\" ]","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" rm ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" echo \"********** BUILD FAILURE **********\"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"# run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"aexolate"},"content":"java -classpath ../bin CarbonBot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"aexolate":1,"-":37}}] diff --git a/aexolate_ip_master/commits.json b/aexolate_ip_master/commits.json index 1eaf4749..206a20dc 100644 --- a/aexolate_ip_master/commits.json +++ b/aexolate_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"aexolate":[{"date":"2023-08-21","commitResults":[{"hash":"1b326cdaf66de6d849c37453e8652de17316b2b7","isMergeCommit":false,"messageTitle":"Rename, Greet, Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":10}}},{"hash":"45361d0cb02388cb7f09c144f19a0c6e460bb095","isMergeCommit":false,"messageTitle":"added echoing, bye command","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"738a72591f00a53c584f5592841f89639b551f89","isMergeCommit":false,"messageTitle":"Added \"list\" command","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":12}}},{"hash":"f86a948b5b951f11f57e4c70c3abc055dcea5050","isMergeCommit":false,"messageTitle":"Add Task.java, Implemented \"mark\", \"unmark\" commands","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":85,"deletions":12}}}]},{"date":"2023-08-22","commitResults":[{"hash":"01c3bbfa13b7c570dd9e609b5d721dccf80bd36a","isMergeCommit":false,"messageTitle":"Add Tasks Types - Todo, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":86,"deletions":5}}},{"hash":"caed88dcb2749eac2d549b535537dbbc8d012bb2","isMergeCommit":false,"messageTitle":"Added test case","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"bat":{"insertions":1,"deletions":1}}},{"hash":"388e6ea8a3f786a9ce0661fea6e2c15ab14ff4e7","isMergeCommit":false,"messageTitle":"Update linux test script","messageBody":"","fileTypesAndContributionMap":{"sh":{"insertions":1,"deletions":1}}},{"hash":"c609053f89cd9656fcb0baa87ecfbe1a7c06701a","isMergeCommit":false,"messageTitle":"Added basic validation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":11}}},{"hash":"68c612e6038ecc58a2cd59eb3bf9684f2720fc27","isMergeCommit":false,"messageTitle":"Added DukeException and Error Handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"java":{"insertions":87,"deletions":84}}},{"hash":"b7d56e117fad0d34264e773fd1382fe6d58b1ae5","isMergeCommit":false,"messageTitle":"Added Delete Command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":0}}},{"hash":"2019a29391e622f8e6a26232d7b725a2083f6cb3","isMergeCommit":false,"messageTitle":"Updated Test Case for Deletions","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0}}},{"hash":"3ae456a41f65120e8933c07e5ee6a14422439c18","isMergeCommit":false,"messageTitle":"Fix bug where Exception occurs when /to used before /from","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":2}}}]},{"date":"2023-08-23","commitResults":[{"hash":"d301b4fdb9a975510c511d0a1e0903698ece090e","isMergeCommit":false,"messageTitle":"Refactor Code, Add documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":12}}}]},{"date":"2023-08-26","commitResults":[{"hash":"1ccafc53188484f5808348d3a19362c8b157a5e4","isMergeCommit":false,"messageTitle":"Add saving functionality for tasks","messageBody":"Save the tasks in the hard disk automatically whenever the task\nlist changes. Load the data from the hard disk when the chatbot\nstarts up.\n","fileTypesAndContributionMap":{"java":{"insertions":117,"deletions":3}}},{"hash":"28c2e1242eb25e2466687990f7057ea3b53d9b93","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"c516a1e3c7d54b02576940e1b0539d2c6d822d2f","isMergeCommit":false,"messageTitle":"Add Dates and Times","messageBody":"Allows the chatbot to understand dates and times. Task dates are\nmodified to be a LocalDateTime type.\n","fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":14}}},{"hash":"90f0478480f0d910d09f1b93c162ccdc9bf4412b","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"0cc812da314b8c77b97bdcc19608f43641fa3e54","isMergeCommit":false,"messageTitle":"Update text-ui-test","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":6}}},{"hash":"66d74d2ee1a05aa9a624d5b29199b83e6ea495ed","isMergeCommit":false,"messageTitle":"Refactor code","messageBody":"Reduced usage of static variables and functions to allow multiple\ninstance of CarbonBot.\n","fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":22}}}]},{"date":"2023-08-27","commitResults":[{"hash":"ae93ade78b46a3efbe062587615f0d9f51dd7970","isMergeCommit":false,"messageTitle":"Add Ui, Storage, TaskList","messageBody":"* Ui: deals with interactions with the user\n* Storage: deals with loading tasks from the file and saving tasks\nin the file\n* TaskList: contains the task list e.g., it has operations to\nadd/delete tasks in the list\n","fileTypesAndContributionMap":{"java":{"insertions":196,"deletions":0}}},{"hash":"9c4e3e5953c9b28c91a1732193452f808a48f415","isMergeCommit":false,"messageTitle":"Add Parser, Command classes","messageBody":"* Parser: deals with making sense of the user command\n* Added command types: AddCommand, DeleteCommand, ExitCommand,\n ListCommand, MarkCommand\n","fileTypesAndContributionMap":{"java":{"insertions":245,"deletions":0}}},{"hash":"95b6888cafb5c97898c37f20c838b99f7dfab24c","isMergeCommit":false,"messageTitle":"Refactor main class to utilize new classes","messageBody":"The main class now utilizes the new Ui, Storage, Parser,\nTaskList, Command classes.\n","fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":317}}},{"hash":"0e26a08f26593061d74d87fec58a10cb66141a70","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"c0a648b16352d41c14b09ed51c9649279a0d0e04","isMergeCommit":false,"messageTitle":"Organize into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":2},"bat":{"insertions":1,"deletions":1}}},{"hash":"cfa758f089a422b433a481bba6a65c8370444a98","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"02313c20c0f53b3a48b1c9b067ff844adeced101","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"5d4d8e70c52eb419b81775933c163dda1a5e8598","isMergeCommit":false,"messageTitle":"Setup gradle file","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":8,"deletions":2}}},{"hash":"49d77f21233de3e1280dbd98d87fe641217e497a","isMergeCommit":false,"messageTitle":"Add basic JUnit Tests for Parser, TaskList","messageBody":"* Parser: Tests: parse()\n* TaskList: Tests: delete(), get()\n","fileTypesAndContributionMap":{"java":{"insertions":186,"deletions":0}}},{"hash":"32bbbf14f83e5bc2a2e3917ca851d1b6ecd1b528","isMergeCommit":false,"messageTitle":"Modify exception message","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"323e0dd6ce704ae15ac7747b05889cdf94c6b5b6","isMergeCommit":false,"messageTitle":"Add JUnit tests for Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":0}}},{"hash":"446aa52cce017e6c0464faf9e6cfba44fe89f9d6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{}},{"hash":"c66424d2fb5eb04c6281616c2f244a598a16213b","isMergeCommit":false,"messageTitle":"Fix MarkCommand bug","messageBody":"The IndexOutOfBoundsException wasn\u0027t caught properly.\n","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":8}}},{"hash":"63918858d99c33d94dc61f775aaf8fd6ee6f6a20","isMergeCommit":false,"messageTitle":"Update shadowJar properties","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":3}}}]}]},"authorFileTypeContributionMap":{"aexolate":{"java":949,"md":0,"fxml":0,"sh":1,"bat":2,"gradle":8,"txt":31}},"authorContributionVariance":{"aexolate":64315.11},"authorDisplayNameMap":{"aexolate":"CS2103T-T14-1 LEON.. KUN"}} +{"authorDailyContributionsMap":{"aexolate":[{"date":"2023-08-21","commitResults":[{"hash":"1b326cdaf66de6d849c37453e8652de17316b2b7","isMergeCommit":false,"messageTitle":"Rename, Greet, Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":10}}},{"hash":"45361d0cb02388cb7f09c144f19a0c6e460bb095","isMergeCommit":false,"messageTitle":"added echoing, bye command","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"738a72591f00a53c584f5592841f89639b551f89","isMergeCommit":false,"messageTitle":"Added \"list\" command","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":12}}},{"hash":"f86a948b5b951f11f57e4c70c3abc055dcea5050","isMergeCommit":false,"messageTitle":"Add Task.java, Implemented \"mark\", \"unmark\" commands","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":85,"deletions":12}}}]},{"date":"2023-08-22","commitResults":[{"hash":"01c3bbfa13b7c570dd9e609b5d721dccf80bd36a","isMergeCommit":false,"messageTitle":"Add Tasks Types - Todo, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":86,"deletions":5}}},{"hash":"caed88dcb2749eac2d549b535537dbbc8d012bb2","isMergeCommit":false,"messageTitle":"Added test case","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"bat":{"insertions":1,"deletions":1}}},{"hash":"388e6ea8a3f786a9ce0661fea6e2c15ab14ff4e7","isMergeCommit":false,"messageTitle":"Update linux test script","messageBody":"","fileTypesAndContributionMap":{"sh":{"insertions":1,"deletions":1}}},{"hash":"c609053f89cd9656fcb0baa87ecfbe1a7c06701a","isMergeCommit":false,"messageTitle":"Added basic validation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":11}}},{"hash":"68c612e6038ecc58a2cd59eb3bf9684f2720fc27","isMergeCommit":false,"messageTitle":"Added DukeException and Error Handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"java":{"insertions":87,"deletions":84}}},{"hash":"b7d56e117fad0d34264e773fd1382fe6d58b1ae5","isMergeCommit":false,"messageTitle":"Added Delete Command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":0}}},{"hash":"2019a29391e622f8e6a26232d7b725a2083f6cb3","isMergeCommit":false,"messageTitle":"Updated Test Case for Deletions","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0}}},{"hash":"3ae456a41f65120e8933c07e5ee6a14422439c18","isMergeCommit":false,"messageTitle":"Fix bug where Exception occurs when /to used before /from","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":2}}}]},{"date":"2023-08-23","commitResults":[{"hash":"d301b4fdb9a975510c511d0a1e0903698ece090e","isMergeCommit":false,"messageTitle":"Refactor Code, Add documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":12}}}]},{"date":"2023-08-26","commitResults":[{"hash":"1ccafc53188484f5808348d3a19362c8b157a5e4","isMergeCommit":false,"messageTitle":"Add saving functionality for tasks","messageBody":"Save the tasks in the hard disk automatically whenever the task\nlist changes. Load the data from the hard disk when the chatbot\nstarts up.\n","fileTypesAndContributionMap":{"java":{"insertions":117,"deletions":3}}},{"hash":"28c2e1242eb25e2466687990f7057ea3b53d9b93","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"c516a1e3c7d54b02576940e1b0539d2c6d822d2f","isMergeCommit":false,"messageTitle":"Add Dates and Times","messageBody":"Allows the chatbot to understand dates and times. Task dates are\nmodified to be a LocalDateTime type.\n","fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":14}}},{"hash":"90f0478480f0d910d09f1b93c162ccdc9bf4412b","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"0cc812da314b8c77b97bdcc19608f43641fa3e54","isMergeCommit":false,"messageTitle":"Update text-ui-test","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":6}}},{"hash":"66d74d2ee1a05aa9a624d5b29199b83e6ea495ed","isMergeCommit":false,"messageTitle":"Refactor code","messageBody":"Reduced usage of static variables and functions to allow multiple\ninstance of CarbonBot.\n","fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":22}}}]},{"date":"2023-08-27","commitResults":[{"hash":"ae93ade78b46a3efbe062587615f0d9f51dd7970","isMergeCommit":false,"messageTitle":"Add Ui, Storage, TaskList","messageBody":"* Ui: deals with interactions with the user\n* Storage: deals with loading tasks from the file and saving tasks\nin the file\n* TaskList: contains the task list e.g., it has operations to\nadd/delete tasks in the list\n","fileTypesAndContributionMap":{"java":{"insertions":196,"deletions":0}}},{"hash":"9c4e3e5953c9b28c91a1732193452f808a48f415","isMergeCommit":false,"messageTitle":"Add Parser, Command classes","messageBody":"* Parser: deals with making sense of the user command\n* Added command types: AddCommand, DeleteCommand, ExitCommand,\n ListCommand, MarkCommand\n","fileTypesAndContributionMap":{"java":{"insertions":245,"deletions":0}}},{"hash":"95b6888cafb5c97898c37f20c838b99f7dfab24c","isMergeCommit":false,"messageTitle":"Refactor main class to utilize new classes","messageBody":"The main class now utilizes the new Ui, Storage, Parser,\nTaskList, Command classes.\n","fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":317}}},{"hash":"0e26a08f26593061d74d87fec58a10cb66141a70","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"c0a648b16352d41c14b09ed51c9649279a0d0e04","isMergeCommit":false,"messageTitle":"Organize into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":2},"bat":{"insertions":1,"deletions":1}}},{"hash":"cfa758f089a422b433a481bba6a65c8370444a98","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"02313c20c0f53b3a48b1c9b067ff844adeced101","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"5d4d8e70c52eb419b81775933c163dda1a5e8598","isMergeCommit":false,"messageTitle":"Setup gradle file","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":8,"deletions":2}}},{"hash":"49d77f21233de3e1280dbd98d87fe641217e497a","isMergeCommit":false,"messageTitle":"Add basic JUnit Tests for Parser, TaskList","messageBody":"* Parser: Tests: parse()\n* TaskList: Tests: delete(), get()\n","fileTypesAndContributionMap":{"java":{"insertions":186,"deletions":0}}},{"hash":"32bbbf14f83e5bc2a2e3917ca851d1b6ecd1b528","isMergeCommit":false,"messageTitle":"Modify exception message","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"323e0dd6ce704ae15ac7747b05889cdf94c6b5b6","isMergeCommit":false,"messageTitle":"Add JUnit tests for Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":0}}},{"hash":"446aa52cce017e6c0464faf9e6cfba44fe89f9d6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{}},{"hash":"c66424d2fb5eb04c6281616c2f244a598a16213b","isMergeCommit":false,"messageTitle":"Fix MarkCommand bug","messageBody":"The IndexOutOfBoundsException wasn\u0027t caught properly.\n","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":8}}},{"hash":"63918858d99c33d94dc61f775aaf8fd6ee6f6a20","isMergeCommit":false,"messageTitle":"Update shadowJar properties","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":3}}},{"hash":"4c159003875db682f2cfd9bea59b655fff1a128f","isMergeCommit":false,"messageTitle":"Change tabs to spaces","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":508,"deletions":481}}},{"hash":"468d6379fd5585e4b4f21c0bfe548dc86109a55f","isMergeCommit":false,"messageTitle":"Fix more checkstyle violations","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":127,"deletions":125}}},{"hash":"2d40cf8a21ab4ab5f1ea90561f10b8fa6e897ee7","isMergeCommit":false,"messageTitle":"Fix TaskList imports order","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"313e32cdf9e5ab850b659f6f9021f1fded395746","isMergeCommit":false,"messageTitle":"Add JavaDocs for all classes and public methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":148,"deletions":6}}},{"hash":"47d06ac8af7ebed5c06fd3fd6b37c65bd6ae53ae","isMergeCommit":false,"messageTitle":"Add find command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"579fd14ecbe7beec571ecb04ff70c228ff8d5fe8","isMergeCommit":false,"messageTitle":"Add find command to Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"cf1763083030b6650eb38b3b8f4b7a5ad86c452b","isMergeCommit":false,"messageTitle":"Add getter for description in Task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"3034b9d8039db94fbd570844073b4a7a150b2124","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"726b5d48682b049fb597e170be9ac20c7291e9eb","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/carbonbot/CarbonBot.java\n#\tsrc/main/java/carbonbot/DukeException.java\n#\tsrc/main/java/carbonbot/Parser.java\n#\tsrc/main/java/carbonbot/Storage.java\n#\tsrc/main/java/carbonbot/TaskList.java\n#\tsrc/main/java/carbonbot/Ui.java\n#\tsrc/main/java/carbonbot/command/AddCommand.java\n#\tsrc/main/java/carbonbot/command/Command.java\n#\tsrc/main/java/carbonbot/command/DeleteCommand.java\n#\tsrc/main/java/carbonbot/command/ExitCommand.java\n#\tsrc/main/java/carbonbot/command/ListCommand.java\n#\tsrc/main/java/carbonbot/command/MarkCommand.java\n#\tsrc/main/java/carbonbot/task/Deadline.java\n#\tsrc/main/java/carbonbot/task/Event.java\n#\tsrc/main/java/carbonbot/task/Task.java\n#\tsrc/main/java/carbonbot/task/Todo.java\n","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"e445b3661a069510b562f372f9f134e3d9b5c828","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/carbonbot/Parser.java\n","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"aexolate":{"java":1165,"md":0,"fxml":0,"sh":1,"bat":2,"gradle":8,"txt":31}},"authorContributionVariance":{"aexolate":261135.55},"authorDisplayNameMap":{"aexolate":"CS2103T-T14-1 LEON.. KUN"}} diff --git a/alvinlim277_ip_master/authorship.json b/alvinlim277_ip_master/authorship.json index f4deec20..b9a9f2a6 100644 --- a/alvinlim277_ip_master/authorship.json +++ b/alvinlim277_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"# Dook project template","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"This is a project template for a greenfield Java project. It\u0027s named after the Java mascot _Duke_. Given below are instructions on how to use it.","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Setting up in Intellij","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"Prerequisites: JDK 11, update Intellij to the most recent version.","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"1. Open Intellij (if you are not in the welcome screen, click `File` \u003e `Close Project` to close the existing project first)","lastModifiedDate":"2021-01-17"},{"lineNumber":10,"author":{"gitId":"-"},"content":"1. Open the project into Intellij as follows:","lastModifiedDate":"2021-01-17"},{"lineNumber":11,"author":{"gitId":"-"},"content":" 1. Click `Open`.","lastModifiedDate":"2021-01-17"},{"lineNumber":12,"author":{"gitId":"-"},"content":" 1. Select the project directory, and click `OK`.","lastModifiedDate":"2021-01-17"},{"lineNumber":13,"author":{"gitId":"-"},"content":" 1. If there are any further prompts, accept the defaults.","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"1. Configure the project to use **JDK 11** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).\u003cbr\u003e","lastModifiedDate":"2021-07-29"},{"lineNumber":15,"author":{"gitId":"-"},"content":" In the same dialog, set the **Project language level** field to the `SDK default` option.","lastModifiedDate":"2021-07-29"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":"3. After that, locate the `src/main/java/Dook.java` file, right-click it, and choose `Run Dook.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output:","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" Hello from","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" ____ _ ","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" | _ \\ _ _| | _____ ","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" | | | | | | | |/ / _ \\","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" | |_| | |_| | \u003c __/","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" |____/ \\__,_|_|\\_\\___|","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":22,"alvinlim277":2}},{"path":"data/dook.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"D//X//Hello//07-07-2001","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"E// //added//20-09-2001//21-09-2001","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"D// //wer//07-06-2008","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":3}},{"path":"src/main/java/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public enum Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" bye(\"Exits the program.\"), list(\"Displays the current tasks\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" mark(\"Marks selected task as done.\"), unmark(\"Marks selected task as undone.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" todo(\"Adds a task.\"), deadline(\"Adds a task with a deadline.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" event(\"Adds a task with a start and end time.\"), delete(\"Deletes selected task from list.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" save(\"Saves the current task list to a file\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" invalid(\"You entered an invalid command.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" private final String desc;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" Command(String desc) {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" this.desc \u003d desc;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" return this.name() + \": \" + this.desc;","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":19}},{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"public class Deadline extends Task implements TimedTask {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" protected String by;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" protected LocalDate byDateTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" public Deadline(String description, String by, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" super(description, isDone);","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" public void processDateTimes() {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" byDateTime \u003d TimeProcessor.getLocalDateFromString(this.by);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" this.by \u003d TimeProcessor.getStringFromLocalDate(byDateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" System.out.println(\"Failed to parse date. Date related operations will not work on this task.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" public boolean fallsOn(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" return byDateTime.isEqual(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" public boolean isAfter(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" return byDateTime.isBefore(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" public boolean isBefore(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" return byDateTime.isAfter(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"D//%s//%s//%s\", getStatusIcon(), description, by);","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" return \"[D]\" + super.toString() + \" (by: \" + by + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":63}},{"path":"src/main/java/Dook.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"import java.util.jar.Attributes;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"public class Dook {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" public static final String name \u003d \"Dook\";","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public static final String FILEPATH \u003d \"./data/dook.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" private Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" private Parser parser;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" private UiDisplay uiDisplay \u003d new UiDisplay();","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" private boolean isActive;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" private static Command parseKeyword(String keyword) {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" return Command.valueOf(keyword);","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" } catch (IllegalArgumentException e){","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" return Command.invalid;","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" public Dook(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" this.parser \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" this.uiDisplay \u003d new UiDisplay();","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" private void run() {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.greetUser();","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" readSavedList();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" String input;","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" while (true) {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" input \u003d sc.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" String[] tmp \u003d input.split(\" \", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" Command command \u003d parseKeyword(tmp[0].trim());","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" String body \u003d tmp.length \u003d\u003d 1 ? \"\" : tmp[1].trim();","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" switch (command) {","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" case bye:","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" storage.save(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.bidFarewell();","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" return;","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" case save:","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(storage.save(taskList));","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" case list:","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" displayList();","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" case mark:","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" handleMark(body, true);","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" case unmark:","lastModifiedDate":"2023-08-22"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" handleMark(body, false);","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" case todo:","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" handleToDo(body);","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" case deadline:","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" handleDeadline(body);","lastModifiedDate":"2023-08-22"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" case event:","lastModifiedDate":"2023-08-22"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":" handleEvent(body);","lastModifiedDate":"2023-08-22"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":" case delete:","lastModifiedDate":"2023-08-22"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" handleDelete(body);","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":" case invalid:","lastModifiedDate":"2023-08-22"},{"lineNumber":72,"author":{"gitId":"alvinlim277"},"content":" displayHelp();","lastModifiedDate":"2023-08-22"},{"lineNumber":73,"author":{"gitId":"alvinlim277"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":74,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":75,"author":{"gitId":"alvinlim277"},"content":" } catch (DookException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":76,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":78,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":79,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":80,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":81,"author":{"gitId":"alvinlim277"},"content":" private void readSavedList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"alvinlim277"},"content":" taskList \u003d new TaskList(storage.load());","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"alvinlim277"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(\"Failed to load file from text.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"alvinlim277"},"content":" taskList \u003d new TaskList(new ArrayList\u003c\u003e());","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"alvinlim277"},"content":" } catch (DookException d) {","lastModifiedDate":"2023-08-28"},{"lineNumber":88,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(d.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":89,"author":{"gitId":"alvinlim277"},"content":" taskList \u003d new TaskList(new ArrayList\u003c\u003e());","lastModifiedDate":"2023-08-28"},{"lineNumber":90,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"alvinlim277"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"alvinlim277"},"content":" Dook dook \u003d new Dook(FILEPATH);","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"alvinlim277"},"content":" dook.run();","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"alvinlim277"},"content":" private void displayHelp() {","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-22"},{"lineNumber":98,"author":{"gitId":"alvinlim277"},"content":" result.append(\"Available commands:\\n\");","lastModifiedDate":"2023-08-22"},{"lineNumber":99,"author":{"gitId":"alvinlim277"},"content":" for (Command c : Command.values()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":100,"author":{"gitId":"alvinlim277"},"content":" result.append(c.toString() + \"\\n\");","lastModifiedDate":"2023-08-22"},{"lineNumber":101,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":102,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(result.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":104,"author":{"gitId":"alvinlim277"},"content":" public TaskList taskList \u003d new TaskList(null);","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"alvinlim277"},"content":" private void handleToDo(String body) throws DookException {","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"alvinlim277"},"content":" if (body.isBlank()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":107,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: todo [name]\");","lastModifiedDate":"2023-08-28"},{"lineNumber":108,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":109,"author":{"gitId":"alvinlim277"},"content":" Task task \u003d new Todo(body.trim(), false);","lastModifiedDate":"2023-08-28"},{"lineNumber":110,"author":{"gitId":"alvinlim277"},"content":" addToTaskList(task);","lastModifiedDate":"2023-08-22"},{"lineNumber":111,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":112,"author":{"gitId":"alvinlim277"},"content":" private void handleDeadline(String body) throws DookException {","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"alvinlim277"},"content":" if (body.isBlank()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":114,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: deadline [name] /by [time].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":115,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":116,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":117,"author":{"gitId":"alvinlim277"},"content":" String[] tmp \u003d body.split(\"/by\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":118,"author":{"gitId":"alvinlim277"},"content":" if (tmp.length \u003c\u003d 1) {","lastModifiedDate":"2023-08-22"},{"lineNumber":119,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: deadline [name] /by [time].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":120,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":121,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":122,"author":{"gitId":"alvinlim277"},"content":" String desc \u003d tmp[0].trim();","lastModifiedDate":"2023-08-22"},{"lineNumber":123,"author":{"gitId":"alvinlim277"},"content":" String by \u003d tmp[1].trim();","lastModifiedDate":"2023-08-22"},{"lineNumber":124,"author":{"gitId":"alvinlim277"},"content":" if (desc.isBlank() || by.isBlank()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":125,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Some information is missing!\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":126,"author":{"gitId":"alvinlim277"},"content":" \"Usage: deadline [name] /by [time].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":127,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":128,"author":{"gitId":"alvinlim277"},"content":" Task task \u003d new Deadline(desc, by, false);","lastModifiedDate":"2023-08-28"},{"lineNumber":129,"author":{"gitId":"alvinlim277"},"content":" addToTaskList(task);","lastModifiedDate":"2023-08-22"},{"lineNumber":130,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":131,"author":{"gitId":"alvinlim277"},"content":" private void handleEvent(String body) throws DookException{","lastModifiedDate":"2023-08-27"},{"lineNumber":132,"author":{"gitId":"alvinlim277"},"content":" if (body.isBlank()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":133,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":134,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":135,"author":{"gitId":"alvinlim277"},"content":" String[] tmp1 \u003d body.split(\"/from\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":136,"author":{"gitId":"alvinlim277"},"content":" if (tmp1.length \u003c\u003d 1) {","lastModifiedDate":"2023-08-22"},{"lineNumber":137,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":138,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":139,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":140,"author":{"gitId":"alvinlim277"},"content":" String desc \u003d tmp1[0].trim();","lastModifiedDate":"2023-08-22"},{"lineNumber":141,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":142,"author":{"gitId":"alvinlim277"},"content":" String[] tmp2 \u003d tmp1[1].split(\"/to\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":143,"author":{"gitId":"alvinlim277"},"content":" if (tmp2.length \u003c\u003d 1) {","lastModifiedDate":"2023-08-22"},{"lineNumber":144,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":145,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":146,"author":{"gitId":"alvinlim277"},"content":" String from \u003d tmp2[0].trim();","lastModifiedDate":"2023-08-22"},{"lineNumber":147,"author":{"gitId":"alvinlim277"},"content":" String to \u003d tmp2[1].trim();","lastModifiedDate":"2023-08-22"},{"lineNumber":148,"author":{"gitId":"alvinlim277"},"content":" if (desc.isBlank() || from.isBlank() || to.isBlank()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":149,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Some information is missing!\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":150,"author":{"gitId":"alvinlim277"},"content":" \"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":151,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":152,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":153,"author":{"gitId":"alvinlim277"},"content":" Task task \u003d new Event(desc, from, to, false);","lastModifiedDate":"2023-08-28"},{"lineNumber":154,"author":{"gitId":"alvinlim277"},"content":" addToTaskList(task);","lastModifiedDate":"2023-08-22"},{"lineNumber":155,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":156,"author":{"gitId":"alvinlim277"},"content":" private void addToTaskList(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":157,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.addTask(task));","lastModifiedDate":"2023-08-27"},{"lineNumber":158,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":159,"author":{"gitId":"alvinlim277"},"content":" private void displayList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":160,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":161,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":162,"author":{"gitId":"alvinlim277"},"content":" private void handleMark(String body, boolean value) throws DookException{","lastModifiedDate":"2023-08-27"},{"lineNumber":163,"author":{"gitId":"alvinlim277"},"content":" int index;","lastModifiedDate":"2023-08-22"},{"lineNumber":164,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":165,"author":{"gitId":"alvinlim277"},"content":" index \u003d Integer.parseInt(body.split(\" \", 2)[0]);","lastModifiedDate":"2023-08-22"},{"lineNumber":166,"author":{"gitId":"alvinlim277"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":167,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(String.format(\"Usage: %s [task number]\", value ? \"mark\" : \"unmark\"));","lastModifiedDate":"2023-08-22"},{"lineNumber":168,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":169,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.markTask(index, value));","lastModifiedDate":"2023-08-27"},{"lineNumber":170,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":171,"author":{"gitId":"alvinlim277"},"content":" private void handleDelete(String body) throws DookException{","lastModifiedDate":"2023-08-27"},{"lineNumber":172,"author":{"gitId":"alvinlim277"},"content":" int index;","lastModifiedDate":"2023-08-22"},{"lineNumber":173,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":174,"author":{"gitId":"alvinlim277"},"content":" index \u003d Integer.parseInt(body.split(\" \", 2)[0]);","lastModifiedDate":"2023-08-22"},{"lineNumber":175,"author":{"gitId":"alvinlim277"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":176,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: delete [task number]\");","lastModifiedDate":"2023-08-28"},{"lineNumber":177,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":178,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.deleteTask(index));","lastModifiedDate":"2023-08-27"},{"lineNumber":179,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":180,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":181,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":181}},{"path":"src/main/java/DookException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class DookException extends Exception{","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public DookException(String message) {","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" super(message);","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":5}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"public class Event extends Task implements TimedTask {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" protected String from;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" protected String to;","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" protected LocalDate fromDateTime \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" protected LocalDate toDateTime \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public void processDateTimes() {","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" fromDateTime \u003d TimeProcessor.getLocalDateFromString(this.from);","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" toDateTime \u003d TimeProcessor.getLocalDateFromString(this.to);","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" this.from \u003d TimeProcessor.getStringFromLocalDate(fromDateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" this.to \u003d TimeProcessor.getStringFromLocalDate(toDateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" System.out.println(\"Failed to parse date. Date related operations will not work on this task.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" public boolean fallsOn(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" return (fromDateTime.isEqual(dateTime) || fromDateTime.isBefore(dateTime)) \u0026\u0026","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" (toDateTime.isEqual(dateTime) || toDateTime.isAfter(dateTime));","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" public boolean isAfter(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" return toDateTime.isBefore(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" public boolean isBefore(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" return fromDateTime.isAfter(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" public Event(String description, String from, String to, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" super(description, isDone);","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"E//%s//%s//%s//%s\", getStatusIcon(), description, from, to);","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" return \"[E]\" + super.toString() + \" (from: \" + from + \" to: \" + to + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":71}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public void Parser() {","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"alvinlim277":5}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.io.File;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" * Responsible for loading saved task list from/writing updated task list to plaintext file.","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" * FORMAT: [Type]/[isDone]/[description]/[time]","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" private String filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" private File file;","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" * Loads task list from file.","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" * @return A list of saved tasks.","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" * @throws FileNotFoundException, DookException","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" public ArrayList\u003cTask\u003e load() throws FileNotFoundException, DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" Scanner sc \u003d new Scanner(file);","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" ArrayList\u003cTask\u003e result \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" while (sc.hasNext()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" result.add(getTaskFromString(sc.nextLine()));","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" return result;","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" public String save(TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" String toSave \u003d taskList.getSaveableString();","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" writeToFile(filePath, toSave);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"File cannot be saved.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" return \"Task list saved!\";","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" private static void writeToFile(String filePath, String textToAdd) throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" FileWriter fw \u003d new FileWriter(filePath);","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" fw.write(textToAdd);","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" fw.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" * Parses plaintext and converts it into a Task.","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" * @param str","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" * @return The converted Task.","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" private Task getTaskFromString(String str) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" String[] params \u003d str.split(\"//\");","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" String taskCode \u003d params[0];","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" boolean isDone \u003d params[1].equals(\"X\");","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":" switch (taskCode) {","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" case \"T\":","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":" return new Todo(params[2].trim(), isDone);","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" case \"D\":","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" return new Deadline(params[2].trim(), params[3].trim(), isDone);","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":" case \"E\":","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"alvinlim277"},"content":" return new Event(params[2].trim(), params[3].trim(), params[4].trim(), isDone);","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"alvinlim277"},"content":" default:","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Failed to read from file correctly.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"alvinlim277":78}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" protected String description;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" public Task (String description, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" this.isDone \u003d isDone;","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" public abstract String getSaveableString();","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" isDone \u003d true;","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" public void unmarkAsDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"[%s] %s\", this.getStatusIcon(), this.description);","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":35}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" private ArrayList\u003cTask\u003e taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" public TaskList(ArrayList\u003cTask\u003e taskList) {","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public String addTask(Task t) {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" taskList.add(t);","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" return (String.format(\"added: %s.\\nNow you have %d %s in the list.\",","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" t,","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" taskList.size(),","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" taskList.size() \u003d\u003d 1 ? \"task\" : \"tasks\"));","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" public String deleteTask(int index) throws DookException {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" if (index \u003c\u003d 0 || index \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"That task does not exist on the list.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(index - 1);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" taskList.remove(index - 1);","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" String message \u003d String.format(\"Ok, I have removed this task:\\n %s\", curr);","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" message +\u003d String.format(\"\\nYou have %d %s in the list.\",","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" taskList.size(),","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" taskList.size() \u003d\u003d 1 ? \"task\" : \"tasks\");","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" return message;","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" public String markTask(int index, boolean value) throws DookException {","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" if (index \u003c\u003d 0 || index \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"That task does not exist on the list.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(index - 1);","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" if (value) {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" curr.unmarkAsDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" String message \u003d String.format(\"I have marked this task as %s:\\n %s\",","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" value ? \"done\" : \"not done yet\", curr);","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" return message;","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" result.append(taskList.get(i).getSaveableString() + \"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" return result.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" @Override public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" result.append(String.format(\"%d. %s\\n\", i + 1, taskList.get(i)));","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" return (result.toString() + String.format(\"You have %d %s in the list.\",","lastModifiedDate":"2023-08-22"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" taskList.size(),","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" taskList.size() \u003d\u003d 1 ? \"task\" : \"tasks\"));","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":60}},{"path":"src/main/java/TimeProcessor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatterBuilder;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"public class TimeProcessor {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" private static DateTimeFormatterBuilder dateTimeFormatterBuilder \u003d new DateTimeFormatterBuilder()","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" .append(DateTimeFormatter.ofPattern(","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" \"[MM/dd/yyyy]\" + \"[dd-MM-yyyy]\" + \"[yyyy-MM-dd]\" + \"[MM-dd-yyyy]\" + \"[dd/MM/yyyy]\"+ \"[yyyy/MM/dd]\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" public static DateTimeFormatter dateTimeFormatter \u003d dateTimeFormatterBuilder.toFormatter();","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" public static final DateTimeFormatter DEFAULT_PATTERN \u003d DateTimeFormatter.ofPattern(\"[dd-MM-yyyy]\");","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" public static LocalDate getLocalDateFromString(String str) {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" return LocalDate.parse(str, dateTimeFormatter);","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" public static String getStringFromLocalDate(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" return localDate.format(TimeProcessor.DEFAULT_PATTERN);","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":19}},{"path":"src/main/java/TimedTask.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"public interface TimedTask {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" public abstract void processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public abstract boolean isBefore(LocalDate dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" public abstract boolean isAfter(LocalDate dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" public abstract boolean fallsOn(LocalDate dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":9}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" public Todo(String description, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" super(description, isDone);","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"T//%s//%s\", getStatusIcon(), description);","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":22}},{"path":"src/main/java/UiDisplay.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class UiDisplay {","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public void greetUser() {","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" printMessage(String.format(\"Dook here.\\nWhat can I do for you?\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public void printMessage(String msg) {","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" System.out.println(msg);","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" public void printDivider() {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" System.out.println(\"_______________________________________\");","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public void bidFarewell() {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" printMessage(\"Goodbye.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"alvinlim277":16}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"event abc /from 1 /to 2","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"todo def","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"deadline ghi /by 3","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"mark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"mark 34","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"mark 2","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"unmark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":10}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":"java -classpath ..\\bin Dook \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":20,"alvinlim277":1}}] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"# Dook project template","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"This is a project template for a greenfield Java project. It\u0027s named after the Java mascot _Duke_. Given below are instructions on how to use it.","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Setting up in Intellij","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"Prerequisites: JDK 11, update Intellij to the most recent version.","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"1. Open Intellij (if you are not in the welcome screen, click `File` \u003e `Close Project` to close the existing project first)","lastModifiedDate":"2021-01-17"},{"lineNumber":10,"author":{"gitId":"-"},"content":"1. Open the project into Intellij as follows:","lastModifiedDate":"2021-01-17"},{"lineNumber":11,"author":{"gitId":"-"},"content":" 1. Click `Open`.","lastModifiedDate":"2021-01-17"},{"lineNumber":12,"author":{"gitId":"-"},"content":" 1. Select the project directory, and click `OK`.","lastModifiedDate":"2021-01-17"},{"lineNumber":13,"author":{"gitId":"-"},"content":" 1. If there are any further prompts, accept the defaults.","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"1. Configure the project to use **JDK 11** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).\u003cbr\u003e","lastModifiedDate":"2021-07-29"},{"lineNumber":15,"author":{"gitId":"-"},"content":" In the same dialog, set the **Project language level** field to the `SDK default` option.","lastModifiedDate":"2021-07-29"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":"3. After that, locate the `src/main/java/Dook.java` file, right-click it, and choose `Run Dook.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output:","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" Hello from","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" ____ _ ","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" | _ \\ _ _| | _____ ","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" | | | | | | | |/ / _ \\","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" | |_| | |_| | \u003c __/","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" |____/ \\__,_|_|\\_\\___|","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":22,"alvinlim277":2}},{"path":"data/dook.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"D//X//Hello//07-07-2001","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"E//X//added//20-09-2001//21-09-2001","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"T// //345","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":3}},{"path":"src/main/java/AddTaskCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class AddTaskCommand extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" private final Task task;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public AddTaskCommand(Task task) {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" this.task \u003d task;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.addTask(task));","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":11}},{"path":"src/main/java/AfterCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"public class AfterCommand extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" private final LocalDate localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public AfterCommand(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" this.localDate \u003d localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.getTasksAfter(localDate));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":12}},{"path":"src/main/java/BeforeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"public class BeforeCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" private final LocalDate localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public BeforeCommand(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" this.localDate \u003d localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.getTasksBefore(localDate));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":12}},{"path":"src/main/java/ByeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class ByeCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public ByeCommand() {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" this.isExit \u003d true;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" storage.save(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.bidFarewell();","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":11}},{"path":"src/main/java/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public abstract class Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public boolean isExit \u003d false;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" protected Storage storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" protected UiDisplay uiDisplay;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" protected TaskList taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" public abstract void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":8}},{"path":"src/main/java/CommandInfo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public enum CommandInfo {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" bye(\"Exits the program.\"), list(\"Displays the current tasks\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" mark(\"Marks selected task as done.\"), unmark(\"Marks selected task as undone.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" todo(\"Adds a task.\"), deadline(\"Adds a task with a deadline.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" event(\"Adds a task with a start and end time.\"), delete(\"Deletes selected task from list.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" save(\"Saves the current task list to a file\"), before(\"Displays all tasks before a certain date.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" after(\"Displays all tasks after a certain date.\"), during(\"Displays all tasks during a certain date.\"),","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" invalid(\"You entered an invalid command.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" private final String desc;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" CommandInfo(String desc) {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" this.desc \u003d desc;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" return this.name() + \": \" + this.desc;","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":19}},{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"public class Deadline extends Task implements TimedTask {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" protected String by;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" protected LocalDate byDateTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" public Deadline(String description, String by, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" super(description, isDone);","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" public void processDateTimes() {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" byDateTime \u003d TimeProcessor.getLocalDateFromString(this.by);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" this.by \u003d TimeProcessor.getStringFromLocalDate(byDateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" System.out.println(\"Failed to parse date. Date related operations will not work on this task.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" public boolean isDuring(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" return byDateTime.isEqual(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" public boolean isAfter(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" return byDateTime.isAfter(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" public boolean isBefore(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" return byDateTime.isBefore(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"D//%s//%s//%s\", getStatusIcon(), description, by);","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" return \"[D]\" + super.toString() + \" (by: \" + by + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":63}},{"path":"src/main/java/DeleteTaskCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class DeleteTaskCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" private final int index;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public DeleteTaskCommand(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" this.index \u003d index;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.deleteTask(index));","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":10}},{"path":"src/main/java/Dook.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"public class Dook {","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public static final String name \u003d \"Dook\";","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" public static final String FILEPATH \u003d \"./data/dook.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" private final Storage storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" private final Parser parser;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" private UiDisplay uiDisplay \u003d new UiDisplay();","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" public TaskList taskList \u003d new TaskList(null);","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public Dook(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" this.parser \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" this.uiDisplay \u003d new UiDisplay();","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" Dook dook \u003d new Dook(FILEPATH);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" dook.run();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" private void run() {","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.greetUser();","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" readSavedList();","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" String input;","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" while (!isExit) {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" input \u003d sc.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" Command c \u003d parser.parseFullInput(input);","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" c.execute(storage, uiDisplay, taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" isExit \u003d c.isExit;","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" } catch (DookException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" private void readSavedList() {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" taskList \u003d new TaskList(storage.load());","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(\"Failed to load file from text.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" taskList \u003d new TaskList(new ArrayList\u003c\u003e());","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" } catch (DookException d) {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(d.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" taskList \u003d new TaskList(new ArrayList\u003c\u003e());","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":52}},{"path":"src/main/java/DookException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class DookException extends Exception{","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public DookException(String message) {","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" super(message);","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":5}},{"path":"src/main/java/DuringCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"public class DuringCommand extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" private final LocalDate localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public DuringCommand(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" this.localDate \u003d localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.getTasksDuring(localDate));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":12}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"public class Event extends Task implements TimedTask {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" protected String from;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" protected String to;","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" protected LocalDate fromDateTime \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" protected LocalDate toDateTime \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public void processDateTimes() {","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" fromDateTime \u003d TimeProcessor.getLocalDateFromString(this.from);","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" toDateTime \u003d TimeProcessor.getLocalDateFromString(this.to);","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" this.from \u003d TimeProcessor.getStringFromLocalDate(fromDateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" this.to \u003d TimeProcessor.getStringFromLocalDate(toDateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" System.out.println(\"Failed to parse date. Date related operations will not work on this task.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" public boolean isDuring(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" return (fromDateTime.isEqual(dateTime) || fromDateTime.isBefore(dateTime)) \u0026\u0026","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" (toDateTime.isEqual(dateTime) || toDateTime.isAfter(dateTime));","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" public boolean isAfter(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" return fromDateTime.isAfter(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" public boolean isBefore(LocalDate dateTime) {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" return toDateTime.isBefore(dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" return false;","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" public Event(String description, String from, String to, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" super(description, isDone);","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"E//%s//%s//%s//%s\", getStatusIcon(), description, from, to);","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" return \"[E]\" + super.toString() + \" (from: \" + from + \" to: \" + to + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":71}},{"path":"src/main/java/InvalidCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class InvalidCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.displayHelp();","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":6}},{"path":"src/main/java/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class ListCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":7}},{"path":"src/main/java/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class MarkCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" private final int index;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public MarkCommand(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" this.index \u003d index;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.markTask(index, true));","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":11}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.util.function.Function;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" private static CommandInfo parseKeyword(String keyword) {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" return CommandInfo.valueOf(keyword);","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" } catch (IllegalArgumentException e){","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" return CommandInfo.invalid;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public Command parseFullInput(String input) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" String[] tmp \u003d input.split(\" \", 2);","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" CommandInfo command \u003d parseKeyword(tmp[0].trim());","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" String body \u003d tmp.length \u003d\u003d 1 ? \"\" : tmp[1].trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" switch (command) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" case bye:","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" return new ByeCommand();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" case list:","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" return new ListCommand();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" case save:","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" return new SaveCommand();","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" case mark:","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" return handleMark(body, true);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" case unmark:","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" return handleMark(body, false);","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" case todo:","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" return handleToDo(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" case deadline:","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" return handleDeadline(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" case event:","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" return handleEvent(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" case delete:","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" return handleDelete(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" case after:","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" return handleAfter(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" case before:","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" return handleBefore(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" case during:","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" return handleDuring(body);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" default:","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" return new InvalidCommand();","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" private Command handleMark(String body, boolean value) throws DookException {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" int index;","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" index \u003d Integer.parseInt(body.split(\" \", 2)[0].trim());","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(String.format(\"Usage: %s [task number]\", value ? \"mark\" : \"unmark\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" return value","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" ? new MarkCommand(index)","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" : new UnmarkCommand(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" private Command handleToDo(String body) throws DookException {","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" if (body.isBlank()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: todo [name]\");","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" Task task \u003d new Todo(body.trim(), false);","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" return new AddTaskCommand(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" private Command handleDeadline(String body) throws DookException {","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" if (body.isBlank()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: deadline [name] /by [time].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" String[] tmp \u003d body.split(\"/by\", 2);","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" if (tmp.length \u003c\u003d 1) {","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: deadline [name] /by [time].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"alvinlim277"},"content":" String desc \u003d tmp[0].trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"alvinlim277"},"content":" String by \u003d tmp[1].trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"alvinlim277"},"content":" if (desc.isBlank() || by.isBlank()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Some information is missing!\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"alvinlim277"},"content":" \"Usage: deadline [name] /by [time].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":79,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":80,"author":{"gitId":"alvinlim277"},"content":" Task task \u003d new Deadline(desc, by, false);","lastModifiedDate":"2023-08-28"},{"lineNumber":81,"author":{"gitId":"alvinlim277"},"content":" return new AddTaskCommand(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":82,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":83,"author":{"gitId":"alvinlim277"},"content":" private Command handleEvent(String body) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":84,"author":{"gitId":"alvinlim277"},"content":" if (body.isBlank()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":85,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":86,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":87,"author":{"gitId":"alvinlim277"},"content":" String[] tmp1 \u003d body.split(\"/from\", 2);","lastModifiedDate":"2023-08-28"},{"lineNumber":88,"author":{"gitId":"alvinlim277"},"content":" if (tmp1.length \u003c\u003d 1) {","lastModifiedDate":"2023-08-28"},{"lineNumber":89,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":90,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":92,"author":{"gitId":"alvinlim277"},"content":" String desc \u003d tmp1[0].trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":93,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":94,"author":{"gitId":"alvinlim277"},"content":" String[] tmp2 \u003d tmp1[1].split(\"/to\", 2);","lastModifiedDate":"2023-08-28"},{"lineNumber":95,"author":{"gitId":"alvinlim277"},"content":" if (tmp2.length \u003c\u003d 1) {","lastModifiedDate":"2023-08-28"},{"lineNumber":96,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":97,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":98,"author":{"gitId":"alvinlim277"},"content":" String from \u003d tmp2[0].trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":99,"author":{"gitId":"alvinlim277"},"content":" String to \u003d tmp2[1].trim();","lastModifiedDate":"2023-08-28"},{"lineNumber":100,"author":{"gitId":"alvinlim277"},"content":" if (desc.isBlank() || from.isBlank() || to.isBlank()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":101,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Some information is missing!\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":102,"author":{"gitId":"alvinlim277"},"content":" \"Usage: event [name] /from [start] /to [end].\");","lastModifiedDate":"2023-08-28"},{"lineNumber":103,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":104,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":105,"author":{"gitId":"alvinlim277"},"content":" Task task \u003d new Event(desc, from, to, false);","lastModifiedDate":"2023-08-28"},{"lineNumber":106,"author":{"gitId":"alvinlim277"},"content":" return new AddTaskCommand(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":107,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":108,"author":{"gitId":"alvinlim277"},"content":" private Command handleDelete(String body) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":109,"author":{"gitId":"alvinlim277"},"content":" int index;","lastModifiedDate":"2023-08-28"},{"lineNumber":110,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":111,"author":{"gitId":"alvinlim277"},"content":" index \u003d Integer.parseInt(body.split(\" \", 2)[0]);","lastModifiedDate":"2023-08-28"},{"lineNumber":112,"author":{"gitId":"alvinlim277"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":113,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Usage: delete [task number]\");","lastModifiedDate":"2023-08-28"},{"lineNumber":114,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":115,"author":{"gitId":"alvinlim277"},"content":" return new DeleteTaskCommand(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":116,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":117,"author":{"gitId":"alvinlim277"},"content":" private Command handleBefore(String body) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":118,"author":{"gitId":"alvinlim277"},"content":" LocalDate localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":119,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":120,"author":{"gitId":"alvinlim277"},"content":" localDate \u003d TimeProcessor.getLocalDateFromString(body.split(\" \", 2)[0].trim());","lastModifiedDate":"2023-08-28"},{"lineNumber":121,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":122,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Improper date format.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":123,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":124,"author":{"gitId":"alvinlim277"},"content":" return new BeforeCommand(localDate);","lastModifiedDate":"2023-08-28"},{"lineNumber":125,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":126,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":127,"author":{"gitId":"alvinlim277"},"content":" private Command handleAfter(String body) throws DookException {","lastModifiedDate":"2023-08-28"},{"lineNumber":128,"author":{"gitId":"alvinlim277"},"content":" LocalDate localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":129,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":130,"author":{"gitId":"alvinlim277"},"content":" localDate \u003d TimeProcessor.getLocalDateFromString(body.split(\" \", 2)[0].trim());","lastModifiedDate":"2023-08-28"},{"lineNumber":131,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":132,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Improper date format.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":133,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":134,"author":{"gitId":"alvinlim277"},"content":" return new AfterCommand(localDate);","lastModifiedDate":"2023-08-28"},{"lineNumber":135,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":136,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":137,"author":{"gitId":"alvinlim277"},"content":" private Command handleDuring(String body) throws DookException {","lastModifiedDate":"2023-08-28"},{"lineNumber":138,"author":{"gitId":"alvinlim277"},"content":" LocalDate localDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":139,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":140,"author":{"gitId":"alvinlim277"},"content":" localDate \u003d TimeProcessor.getLocalDateFromString(body.split(\" \", 2)[0].trim());","lastModifiedDate":"2023-08-28"},{"lineNumber":141,"author":{"gitId":"alvinlim277"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":142,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Improper date format.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":143,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":144,"author":{"gitId":"alvinlim277"},"content":" return new DuringCommand(localDate);","lastModifiedDate":"2023-08-28"},{"lineNumber":145,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":146,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"alvinlim277":146}},{"path":"src/main/java/SaveCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class SaveCommand extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(storage.save(taskList));","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":7}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.io.File;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"/**","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" * Responsible for loading saved task list from/writing updated task list to plaintext file.","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" * FORMAT: [Type]/[isDone]/[description]/[time]","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" private String filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" private File file;","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" * Loads task list from file.","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" * @return A list of saved tasks.","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" * @throws FileNotFoundException, DookException","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" public ArrayList\u003cTask\u003e load() throws FileNotFoundException, DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" Scanner sc \u003d new Scanner(file);","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" ArrayList\u003cTask\u003e result \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" while (sc.hasNext()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" result.add(getTaskFromString(sc.nextLine()));","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" return result;","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" public String save(TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" String toSave \u003d taskList.getSaveableString();","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" writeToFile(filePath, toSave);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"File cannot be saved.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" return \"Task list saved!\";","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" private static void writeToFile(String filePath, String textToAdd) throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" FileWriter fw \u003d new FileWriter(filePath);","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" fw.write(textToAdd);","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" fw.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" * Parses plaintext and converts it into a Task.","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" * @param str","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" * @return The converted Task.","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" private Task getTaskFromString(String str) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" String[] params \u003d str.split(\"//\");","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" String taskCode \u003d params[0];","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" boolean isDone \u003d params[1].equals(\"X\");","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":" switch (taskCode) {","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" case \"T\":","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":" return new Todo(params[2].trim(), isDone);","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" case \"D\":","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" return new Deadline(params[2].trim(), params[3].trim(), isDone);","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":" case \"E\":","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"alvinlim277"},"content":" return new Event(params[2].trim(), params[3].trim(), params[4].trim(), isDone);","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"alvinlim277"},"content":" default:","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"Failed to read from file correctly.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"alvinlim277":78}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" protected String description;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" public Task (String description, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" this.isDone \u003d isDone;","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" public abstract String getSaveableString();","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" isDone \u003d true;","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" public void unmarkAsDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"[%s] %s\", this.getStatusIcon(), this.description);","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":35}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.util.function.Function;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" private ArrayList\u003cTask\u003e taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" public TaskList(ArrayList\u003cTask\u003e taskList) {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" public String addTask(Task t) {","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" taskList.add(t);","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" return (String.format(\"added: %s.\\nNow you have %d %s in the list.\",","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" t,","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" taskList.size(),","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" taskList.size() \u003d\u003d 1 ? \"task\" : \"tasks\"));","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" public String deleteTask(int index) throws DookException {","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" if (index \u003c\u003d 0 || index \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"That task does not exist on the list.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(index - 1);","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":" taskList.remove(index - 1);","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"alvinlim277"},"content":" String message \u003d String.format(\"Ok, I have removed this task:\\n %s\", curr);","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"alvinlim277"},"content":" message +\u003d String.format(\"\\nYou have %d %s in the list.\",","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"alvinlim277"},"content":" taskList.size(),","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"alvinlim277"},"content":" taskList.size() \u003d\u003d 1 ? \"task\" : \"tasks\");","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"alvinlim277"},"content":" return message;","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"alvinlim277"},"content":" public String markTask(int index, boolean value) throws DookException {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"alvinlim277"},"content":" if (index \u003c\u003d 0 || index \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"alvinlim277"},"content":" throw new DookException(\"That task does not exist on the list.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(index - 1);","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"alvinlim277"},"content":" if (value) {","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"alvinlim277"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"alvinlim277"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"alvinlim277"},"content":" curr.unmarkAsDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"alvinlim277"},"content":" String message \u003d String.format(\"I have marked this task as %s:\\n %s\",","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"alvinlim277"},"content":" value ? \"done\" : \"not done yet\", curr);","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"alvinlim277"},"content":" return message;","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"alvinlim277"},"content":" public String filterTasks(Function\u003cTask, Boolean\u003e f) {","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"alvinlim277"},"content":" for (Task task : taskList) {","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"alvinlim277"},"content":" if (f.apply(task)) result.append(task).append(\"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"alvinlim277"},"content":" return result.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"alvinlim277"},"content":" public String getTasksBefore(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"alvinlim277"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"alvinlim277"},"content":" TimedTask timedTask \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"alvinlim277"},"content":" if (curr instanceof TimedTask) {","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"alvinlim277"},"content":" timedTask \u003d (TimedTask) curr;","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"alvinlim277"},"content":" if (timedTask !\u003d null \u0026\u0026 timedTask.isBefore(localDate)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"alvinlim277"},"content":" result.append(String.format(\"%d. %s\\n\", i + 1, taskList.get(i)));","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"alvinlim277"},"content":" return result.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"alvinlim277"},"content":" public String getTasksAfter(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"alvinlim277"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"alvinlim277"},"content":" TimedTask timedTask \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"alvinlim277"},"content":" if (curr instanceof TimedTask) {","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"alvinlim277"},"content":" timedTask \u003d (TimedTask) curr;","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"alvinlim277"},"content":" if(timedTask !\u003d null \u0026\u0026 timedTask.isAfter(localDate)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"alvinlim277"},"content":" result.append(String.format(\"%d. %s\\n\", i + 1, taskList.get(i)));","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":79,"author":{"gitId":"alvinlim277"},"content":" return result.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":80,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":81,"author":{"gitId":"alvinlim277"},"content":" public String getTasksDuring(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":82,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":83,"author":{"gitId":"alvinlim277"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":84,"author":{"gitId":"alvinlim277"},"content":" Task curr \u003d taskList.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":85,"author":{"gitId":"alvinlim277"},"content":" TimedTask timedTask \u003d null;","lastModifiedDate":"2023-08-28"},{"lineNumber":86,"author":{"gitId":"alvinlim277"},"content":" if (curr instanceof TimedTask) {","lastModifiedDate":"2023-08-28"},{"lineNumber":87,"author":{"gitId":"alvinlim277"},"content":" timedTask \u003d (TimedTask) curr;","lastModifiedDate":"2023-08-28"},{"lineNumber":88,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":89,"author":{"gitId":"alvinlim277"},"content":" if(timedTask !\u003d null \u0026\u0026 timedTask.isDuring(localDate)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":90,"author":{"gitId":"alvinlim277"},"content":" result.append(String.format(\"%d. %s\\n\", i + 1, taskList.get(i)));","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":92,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":93,"author":{"gitId":"alvinlim277"},"content":" return result.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":94,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":95,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":96,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":97,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":98,"author":{"gitId":"alvinlim277"},"content":" for (Task task : taskList) {","lastModifiedDate":"2023-08-28"},{"lineNumber":99,"author":{"gitId":"alvinlim277"},"content":" result.append(task.getSaveableString()).append(\"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":100,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":101,"author":{"gitId":"alvinlim277"},"content":" return result.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":102,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":103,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":104,"author":{"gitId":"alvinlim277"},"content":" @Override public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":105,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-22"},{"lineNumber":106,"author":{"gitId":"alvinlim277"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-22"},{"lineNumber":107,"author":{"gitId":"alvinlim277"},"content":" result.append(String.format(\"%d. %s\\n\", i + 1, taskList.get(i)));","lastModifiedDate":"2023-08-22"},{"lineNumber":108,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":109,"author":{"gitId":"alvinlim277"},"content":" return (result.toString() + String.format(\"You have %d %s in the list.\",","lastModifiedDate":"2023-08-22"},{"lineNumber":110,"author":{"gitId":"alvinlim277"},"content":" taskList.size(),","lastModifiedDate":"2023-08-22"},{"lineNumber":111,"author":{"gitId":"alvinlim277"},"content":" taskList.size() \u003d\u003d 1 ? \"task\" : \"tasks\"));","lastModifiedDate":"2023-08-22"},{"lineNumber":112,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":113,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":113}},{"path":"src/main/java/TimeProcessor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"import java.time.format.DateTimeFormatterBuilder;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"public class TimeProcessor {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" private static DateTimeFormatterBuilder dateTimeFormatterBuilder \u003d new DateTimeFormatterBuilder()","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" .append(DateTimeFormatter.ofPattern(","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" \"[MM/dd/yyyy]\" + \"[dd-MM-yyyy]\" + \"[yyyy-MM-dd]\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" \"[MM-dd-yyyy]\" + \"[dd/MM/yyyy]\"+ \"[yyyy/MM/dd]\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" public static DateTimeFormatter dateTimeFormatter \u003d dateTimeFormatterBuilder.toFormatter();","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" public static final DateTimeFormatter DEFAULT_PATTERN \u003d DateTimeFormatter.ofPattern(\"[dd-MM-yyyy]\");","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public static LocalDate getLocalDateFromString(String str) {","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" return LocalDate.parse(str, dateTimeFormatter);","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" public static String getStringFromLocalDate(LocalDate localDate) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" return localDate.format(TimeProcessor.DEFAULT_PATTERN);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":20}},{"path":"src/main/java/TimedTask.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"public interface TimedTask {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" public abstract void processDateTimes();","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public abstract boolean isBefore(LocalDate dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" public abstract boolean isAfter(LocalDate dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" public abstract boolean isDuring(LocalDate dateTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":9}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" public Todo(String description, boolean isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" super(description, isDone);","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" public String getSaveableString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" return String.format(\"T//%s//%s\", getStatusIcon(), description);","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":22}},{"path":"src/main/java/UiDisplay.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class UiDisplay {","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" public void greetUser() {","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" printMessage(String.format(\"Dook here.\\nWhat can I do for you?\"));","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":" public void printMessage(String msg) {","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" System.out.println(msg);","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" printDivider();","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" public void printDivider() {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":" System.out.println(\"_______________________________________\");","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"alvinlim277"},"content":" public void bidFarewell() {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"alvinlim277"},"content":" printMessage(\"Goodbye.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"alvinlim277"},"content":" public void displayHelp() {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"alvinlim277"},"content":" StringBuilder result \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":" result.append(\"Available commands:\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"alvinlim277"},"content":" for (CommandInfo c : CommandInfo.values()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"alvinlim277"},"content":" result.append(c.toString()).append(\"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"alvinlim277"},"content":" printMessage(result.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"alvinlim277":24}},{"path":"src/main/java/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"public class UnmarkCommand extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":" private final int index;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":" public UnmarkCommand(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":" this.index \u003d index;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":" public void execute(Storage storage, UiDisplay uiDisplay, TaskList taskList) throws DookException{","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":" uiDisplay.printMessage(taskList.markTask(index, false));","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"alvinlim277"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"alvinlim277":11}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"alvinlim277"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"alvinlim277"},"content":"event abc /from 1 /to 2","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"alvinlim277"},"content":"todo def","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"alvinlim277"},"content":"deadline ghi /by 3","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"alvinlim277"},"content":"mark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"alvinlim277"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"alvinlim277"},"content":"mark 34","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"alvinlim277"},"content":"mark 2","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"alvinlim277"},"content":"unmark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"alvinlim277"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"alvinlim277":10}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"alvinlim277"},"content":"java -classpath ..\\bin Dook \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":20,"alvinlim277":1}}] diff --git a/alvinlim277_ip_master/commits.json b/alvinlim277_ip_master/commits.json index 2f65eef6..f48e04b4 100644 --- a/alvinlim277_ip_master/commits.json +++ b/alvinlim277_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"alvinlim277":[{"date":"2023-08-21","commitResults":[{"hash":"03ad913bb5fa49f4dd630ebbafb1b536d823808e","isMergeCommit":false,"messageTitle":"Add greet and exit","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":6}}},{"hash":"75bfcd8d9042f1cd0b8a9ec2480e7d1db6a2f160","isMergeCommit":false,"messageTitle":"Add echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":4}}},{"hash":"955376164b003f838172c95cd731ee600d04d2e8","isMergeCommit":false,"messageTitle":"Add list","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":3}}}]},{"date":"2023-08-22","commitResults":[{"hash":"869c76267d28a17938960170ff31c7ddbaa446af","isMergeCommit":false,"messageTitle":"Add marking/unmarking","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":89,"deletions":23}}},{"hash":"789fd0389cd3a35e585165423ec40603203430d3","isMergeCommit":false,"messageTitle":"Add event, todo, deadline","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":200,"deletions":94},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"ac16adb5d1e0b9bf825b24172fbc35140b570f29","isMergeCommit":false,"messageTitle":"Add semi-automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0}}},{"hash":"1cdf7b0aed523599c281d216be99b93faf61ab1e","isMergeCommit":false,"messageTitle":"Add exception handling and error messages","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":45,"deletions":47}}},{"hash":"8443220bcca7c5e512ffc219ec2f72a47ad01ce6","isMergeCommit":false,"messageTitle":"Add delete functionality","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":15}}},{"hash":"e3775da25538d054d0448f066ec307e92accacee","isMergeCommit":false,"messageTitle":"Add enums and fix grammar","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":19}}},{"hash":"a3dd2daa3b7af468a654aaed3ebbbbe3764270b1","isMergeCommit":false,"messageTitle":"Add user guide on invalid command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":17}}},{"hash":"1c7a9bfbca2f7da375d648ca139fb6a7b3c36620","isMergeCommit":false,"messageTitle":"Add DookList to separate responsibilities","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":63,"deletions":52}}}]},{"date":"2023-08-27","commitResults":[{"hash":"b49f087ca7b92cafc4516493af369258f13bdf51","isMergeCommit":false,"messageTitle":"Separate responsibilities and start adding save.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":150,"deletions":35}}}]},{"date":"2023-08-28","commitResults":[{"hash":"aca0d738fa8f120561dfdcaa4e6468ec7fe34dc5","isMergeCommit":false,"messageTitle":"Add save functionality","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":82,"deletions":19}}},{"hash":"382dad4a8f6aca60cca24a3c523ecd4d52a51191","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"29f51221d047ce0e9430c9778f6967df4fd639cf","isMergeCommit":false,"messageTitle":"Add date time recognition","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":151,"deletions":43}}},{"hash":"d20ca5acf2ad76356c8f18601746bf8ee6e08145","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"alvinlim277":{"java":583,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":0,"txt":13}},"authorContributionVariance":{"alvinlim277":53888.453},"authorDisplayNameMap":{"alvinlim277":"CS2103T-W13-1 LIM ..LVIN"}} +{"authorDailyContributionsMap":{"alvinlim277":[{"date":"2023-08-21","commitResults":[{"hash":"03ad913bb5fa49f4dd630ebbafb1b536d823808e","isMergeCommit":false,"messageTitle":"Add greet and exit","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":6}}},{"hash":"75bfcd8d9042f1cd0b8a9ec2480e7d1db6a2f160","isMergeCommit":false,"messageTitle":"Add echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":4}}},{"hash":"955376164b003f838172c95cd731ee600d04d2e8","isMergeCommit":false,"messageTitle":"Add list","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":3}}}]},{"date":"2023-08-22","commitResults":[{"hash":"869c76267d28a17938960170ff31c7ddbaa446af","isMergeCommit":false,"messageTitle":"Add marking/unmarking","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":89,"deletions":23}}},{"hash":"789fd0389cd3a35e585165423ec40603203430d3","isMergeCommit":false,"messageTitle":"Add event, todo, deadline","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":200,"deletions":94},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"ac16adb5d1e0b9bf825b24172fbc35140b570f29","isMergeCommit":false,"messageTitle":"Add semi-automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0}}},{"hash":"1cdf7b0aed523599c281d216be99b93faf61ab1e","isMergeCommit":false,"messageTitle":"Add exception handling and error messages","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":45,"deletions":47}}},{"hash":"8443220bcca7c5e512ffc219ec2f72a47ad01ce6","isMergeCommit":false,"messageTitle":"Add delete functionality","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":15}}},{"hash":"e3775da25538d054d0448f066ec307e92accacee","isMergeCommit":false,"messageTitle":"Add enums and fix grammar","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":19}}},{"hash":"a3dd2daa3b7af468a654aaed3ebbbbe3764270b1","isMergeCommit":false,"messageTitle":"Add user guide on invalid command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":17}}},{"hash":"1c7a9bfbca2f7da375d648ca139fb6a7b3c36620","isMergeCommit":false,"messageTitle":"Add DookList to separate responsibilities","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":63,"deletions":52}}}]},{"date":"2023-08-27","commitResults":[{"hash":"b49f087ca7b92cafc4516493af369258f13bdf51","isMergeCommit":false,"messageTitle":"Separate responsibilities and start adding save.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":150,"deletions":35}}}]},{"date":"2023-08-28","commitResults":[{"hash":"aca0d738fa8f120561dfdcaa4e6468ec7fe34dc5","isMergeCommit":false,"messageTitle":"Add save functionality","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":82,"deletions":19}}},{"hash":"382dad4a8f6aca60cca24a3c523ecd4d52a51191","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"29f51221d047ce0e9430c9778f6967df4fd639cf","isMergeCommit":false,"messageTitle":"Add date time recognition","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":151,"deletions":43}}},{"hash":"d20ca5acf2ad76356c8f18601746bf8ee6e08145","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"040c4e9c38d5fe2c4b116387d82d17cb423c94ea","isMergeCommit":false,"messageTitle":"Add more OOP and command pattern","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":2},"java":{"insertions":361,"deletions":169}}},{"hash":"07d0f268b9edd13c24e569325989904624869e05","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-more-oop\u0027","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"alvinlim277":{"java":775,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":0,"txt":13}},"authorContributionVariance":{"alvinlim277":95037.35},"authorDisplayNameMap":{"alvinlim277":"CS2103T-W13-1 LIM ..LVIN"}} diff --git a/archive.zip b/archive.zip index b9d17abc..62be36ac 100644 Binary files a/archive.zip and b/archive.zip differ diff --git a/iyioon_ip_master/authorship.json b/iyioon_ip_master/authorship.json index 38a1fa28..6fefeb4d 100644 --- a/iyioon_ip_master/authorship.json +++ b/iyioon_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"data/duke.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"D|true|this|2023-01-24","lastModifiedDate":"2023-08-26"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"E|false|test|2021-04-24|2030-02-01","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"E|false|a|2021-11-11|2023-01-24","lastModifiedDate":"2023-08-26"}],"authorContributionMap":{"iyioon":3}},{"path":"src/main/java/AddCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Command that adds the task to the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class AddCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Determines the type of task using the latest chat message,","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * Creates a new task with the correct type and adds it to the list.","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list to which the new task will be added.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last user message.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks,Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" String userInput \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" Task task \u003d null;","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" // Determine the task type based on the message.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" if (userInput.toLowerCase().startsWith(\"todo\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" task \u003d new Todo(userInput.substring(4).trim());","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" } else if (userInput.toLowerCase().startsWith(\"deadline\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" // Check format","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" if (!userInput.contains(\"/by \"))","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Please use the format: deadline [description] /by [date]\");","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" String[] words \u003d userInput.substring(8).split(\"/by\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" task \u003d new Deadline(words[0].trim(), words[1].trim());","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" } else if (userInput.toLowerCase().startsWith(\"event\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" // Check format","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" if (!userInput.contains(\"/from \") || !userInput.contains(\"/to \"))","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Please use the format: event [description] /from [date] /to [date]\");","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" String[] words \u003d userInput.substring(5).split(\"/from\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" String description \u003d words[0].trim();","lastModifiedDate":"2023-08-21"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" String[] time \u003d words[1].split(\"/to\");","lastModifiedDate":"2023-08-21"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" String from \u003d time[0].trim();","lastModifiedDate":"2023-08-21"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" String to \u003d time[1].trim();","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" task \u003d new Event(description, from, to);","lastModifiedDate":"2023-08-21"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Got it. I\u0027ve added this task:\" + \"\\n\" + task.toString() +","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" \"\\n\" + \"Now you have \" + tasks.size() + \" tasks in the list\");","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":47}},{"path":"src/main/java/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Represents a command that can be executed within the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"@FunctionalInterface","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"public interface Command {","lastModifiedDate":"2023-08-20"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * Executes the command and determining whether the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list that may be modified by the command.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface for analyzing chat history.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * @return {@code true} if the program should terminate after executing this command, or","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * {@code false} if the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" boolean execute(TaskList tasks,Ui ui) throws DukeException;","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":18}},{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-08-26"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" * A task which holds the date which should be completed by.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * The due date of the deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" private LocalDate date;","lastModifiedDate":"2023-08-26"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * Constructs an unmarked Deadline task","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * with the given description and due date.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" * @param date The due date of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" public Deadline(String description, String date) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" super(description);","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" this.TaskType \u003d TaskType.DEADLINE;","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" this.date \u003d LocalDate.parse(date);","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong date format. Please Use format YYYY-MM-DD\");","lastModifiedDate":"2023-08-26"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of the deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" * Includes its completion status, description, and due date.","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" * @return A string representing the deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" return isDone ? \"[D][X] \" + this.description + \" (by: \" + formatDate(this.date) + \")\"","lastModifiedDate":"2023-08-26"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" : \"[D][ ] \" + this.description + \" (by: \" + formatDate(this.date) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" * Change the Dates to a different format.","lastModifiedDate":"2023-08-26"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" private String formatDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"MMM d yyyy\");","lastModifiedDate":"2023-08-26"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" return date.format(format);","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" public String getRaw() {","lastModifiedDate":"2023-08-26"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" return \"D\" + \"|\" + isDone + \"|\" + this.description + \"|\" + date;","lastModifiedDate":"2023-08-26"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" * Determine if the task is on a specific date.","lastModifiedDate":"2023-08-26"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" * @param date to compare.","lastModifiedDate":"2023-08-26"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" * @return true if the task is at a date.","lastModifiedDate":"2023-08-26"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" public boolean onDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" return this.date.equals(date);","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"iyioon":73}},{"path":"src/main/java/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Command that delets the task from the task list using index.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class DeleteCommand implements Command{","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Identifies the index of the task to be deleted","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * with the last message and deletes it.","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" String[] words \u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" int index \u003d Integer.parseInt(words[1])-1;","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" Task temp \u003d tasks.get(index);","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" tasks.remove(index);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Noted. I\u0027ve removed this task: \"+\"\\n\" + temp +","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" \"\\n\" + \"Now you have \" + tasks.size() + \" tasks in the list\");","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" } catch (Exception e){","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong index. Try checking your list first.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"iyioon":29}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"import java.io.File;","lastModifiedDate":"2023-08-26"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * Main entry point of the bot","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * User Interface for generating chats.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" private Ui ui \u003d new Ui();","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" * Task list to store the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" private TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" * File path to store tasks","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" private String filePath \u003d \"./data/duke.txt\";","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" * The main entry point of the application.","lastModifiedDate":"2023-08-26"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" new Duke().run();","lastModifiedDate":"2023-08-26"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" * Continuously reads user input,","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" * parses it into commands, and executes the commands","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" * until an exit command is received.","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" public void run() {","lastModifiedDate":"2023-08-20"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" ui.showWelcome();","lastModifiedDate":"2023-08-20"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" readTask();","lastModifiedDate":"2023-08-26"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" while (!isExit) {","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" String userInput \u003d ui.readInput();","lastModifiedDate":"2023-08-20"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" ui.showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" Command command \u003d Parser.parse(userInput);","lastModifiedDate":"2023-08-20"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" isExit \u003d command.execute(this.tasks, ui);","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" writeTask();","lastModifiedDate":"2023-08-26"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" ui.showError(e.getMessage());","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" } finally {","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" ui.showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" * Read the task from the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" public void readTask() {","lastModifiedDate":"2023-08-26"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" File directory \u003d new File(\"./data\");","lastModifiedDate":"2023-08-26"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" File file \u003d new File(filePath);","lastModifiedDate":"2023-08-26"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" if (!directory.exists()) {","lastModifiedDate":"2023-08-26"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" directory.mkdir();","lastModifiedDate":"2023-08-26"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" file.createNewFile();","lastModifiedDate":"2023-08-26"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" ui.showError(\"Error creating new file: \" + e.getMessage());","lastModifiedDate":"2023-08-26"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" Scanner scanner \u003d new Scanner(file);","lastModifiedDate":"2023-08-26"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" while (scanner.hasNextLine()) {","lastModifiedDate":"2023-08-26"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":" Task task;","lastModifiedDate":"2023-08-26"},{"lineNumber":82,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":83,"author":{"gitId":"iyioon"},"content":" String line \u003d scanner.nextLine();","lastModifiedDate":"2023-08-26"},{"lineNumber":84,"author":{"gitId":"iyioon"},"content":" String[] parts \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-08-26"},{"lineNumber":85,"author":{"gitId":"iyioon"},"content":" String taskType \u003d parts[0];","lastModifiedDate":"2023-08-26"},{"lineNumber":86,"author":{"gitId":"iyioon"},"content":" boolean isDone \u003d parts[1].equals(\"true\");","lastModifiedDate":"2023-08-26"},{"lineNumber":87,"author":{"gitId":"iyioon"},"content":" String description \u003d parts[2];","lastModifiedDate":"2023-08-26"},{"lineNumber":88,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":89,"author":{"gitId":"iyioon"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-26"},{"lineNumber":90,"author":{"gitId":"iyioon"},"content":" case \"T\":","lastModifiedDate":"2023-08-26"},{"lineNumber":91,"author":{"gitId":"iyioon"},"content":" task \u003d new Todo(description);","lastModifiedDate":"2023-08-26"},{"lineNumber":92,"author":{"gitId":"iyioon"},"content":" break;","lastModifiedDate":"2023-08-26"},{"lineNumber":93,"author":{"gitId":"iyioon"},"content":" case \"D\":","lastModifiedDate":"2023-08-26"},{"lineNumber":94,"author":{"gitId":"iyioon"},"content":" String date \u003d parts[3];","lastModifiedDate":"2023-08-26"},{"lineNumber":95,"author":{"gitId":"iyioon"},"content":" task \u003d new Deadline(description, date);","lastModifiedDate":"2023-08-26"},{"lineNumber":96,"author":{"gitId":"iyioon"},"content":" break;","lastModifiedDate":"2023-08-26"},{"lineNumber":97,"author":{"gitId":"iyioon"},"content":" case \"E\":","lastModifiedDate":"2023-08-26"},{"lineNumber":98,"author":{"gitId":"iyioon"},"content":" String from \u003d parts[3];","lastModifiedDate":"2023-08-26"},{"lineNumber":99,"author":{"gitId":"iyioon"},"content":" String to \u003d parts[4];","lastModifiedDate":"2023-08-26"},{"lineNumber":100,"author":{"gitId":"iyioon"},"content":" task \u003d new Event(description, from, to);","lastModifiedDate":"2023-08-26"},{"lineNumber":101,"author":{"gitId":"iyioon"},"content":" break;","lastModifiedDate":"2023-08-26"},{"lineNumber":102,"author":{"gitId":"iyioon"},"content":" default:","lastModifiedDate":"2023-08-26"},{"lineNumber":103,"author":{"gitId":"iyioon"},"content":" continue;","lastModifiedDate":"2023-08-26"},{"lineNumber":104,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":105,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":106,"author":{"gitId":"iyioon"},"content":" if (isDone) {","lastModifiedDate":"2023-08-26"},{"lineNumber":107,"author":{"gitId":"iyioon"},"content":" task.mark();","lastModifiedDate":"2023-08-26"},{"lineNumber":108,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":109,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":110,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-26"},{"lineNumber":111,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":112,"author":{"gitId":"iyioon"},"content":" scanner.close();","lastModifiedDate":"2023-08-26"},{"lineNumber":113,"author":{"gitId":"iyioon"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":114,"author":{"gitId":"iyioon"},"content":" ui.showError(e.getMessage());","lastModifiedDate":"2023-08-26"},{"lineNumber":115,"author":{"gitId":"iyioon"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":116,"author":{"gitId":"iyioon"},"content":" ui.showError(e.getMessage());","lastModifiedDate":"2023-08-26"},{"lineNumber":117,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":118,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":119,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":120,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":121,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":122,"author":{"gitId":"iyioon"},"content":" * Write the task to the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":123,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":124,"author":{"gitId":"iyioon"},"content":" public void writeTask() {","lastModifiedDate":"2023-08-26"},{"lineNumber":125,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":126,"author":{"gitId":"iyioon"},"content":" FileWriter fw \u003d new FileWriter(filePath);","lastModifiedDate":"2023-08-26"},{"lineNumber":127,"author":{"gitId":"iyioon"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-26"},{"lineNumber":128,"author":{"gitId":"iyioon"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-26"},{"lineNumber":129,"author":{"gitId":"iyioon"},"content":" fw.write(task.getRaw() + \"\\n\");","lastModifiedDate":"2023-08-26"},{"lineNumber":130,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":131,"author":{"gitId":"iyioon"},"content":" fw.close();","lastModifiedDate":"2023-08-26"},{"lineNumber":132,"author":{"gitId":"iyioon"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":133,"author":{"gitId":"iyioon"},"content":" ui.showError(\"An error occurred while writing to file.\");","lastModifiedDate":"2023-08-26"},{"lineNumber":134,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":136,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"iyioon":132,"-":4}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Represents a custom exception that is specific to the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Constructs a new DukeException with the specified message.","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * @param message The message, which can be retrieved by the {@link #getMessage()} method.","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" public DukeException(String message) {","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" super(message);","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"iyioon":14}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-08-26"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" * A task which holds the date from and to.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * The start time of the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" private LocalDate from;","lastModifiedDate":"2023-08-26"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * The end time of the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" private LocalDate to;","lastModifiedDate":"2023-08-26"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" * Constructs an Event task","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" * @param from The start time of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" * @param to The end time of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" public Event(String description, String from, String to) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" super(description);","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" this.TaskType \u003d TaskType.EVENT;","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" this.from \u003d LocalDate.parse(from);","lastModifiedDate":"2023-08-26"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" this.to \u003d LocalDate.parse(to);","lastModifiedDate":"2023-08-26"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong date format. Please Use format YYYY-MM-DD\");","lastModifiedDate":"2023-08-26"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" * @return A string representing the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" return this.isDone ? \"[E][X] \" + this.description + \" (from: \" + formatDate(from) + \" to: \" + formatDate(to) + \")\"","lastModifiedDate":"2023-08-26"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" : \"[E][ ] \" + this.description + \" (from: \" + formatDate(from) + \" to: \" + formatDate(to) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" * Change the Dates to a different format.","lastModifiedDate":"2023-08-26"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" private String formatDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"MMM d yyyy\");","lastModifiedDate":"2023-08-26"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" return date.format(format);","lastModifiedDate":"2023-08-26"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" public String getRaw() {","lastModifiedDate":"2023-08-26"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" return \"E\" + \"|\" + isDone + \"|\" + this.description + \"|\" + from + \"|\" + to;","lastModifiedDate":"2023-08-26"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" * Determine if the date is between the event date.","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" * @param date to compare.","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" * @return true if the date is between the event date.","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" public boolean onDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" return date.isAfter(this.from) \u0026\u0026 date.isBefore(this.to);","lastModifiedDate":"2023-08-26"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"iyioon":77}},{"path":"src/main/java/ExitCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Command use to end the program.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class ExitCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Executes the exit command by sending a farewell message.","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list, not used in the exit command.","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to send the farewell message.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @return {@code true} as the program should terminate.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui){","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" return true;","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":18}},{"path":"src/main/java/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Command that prints the tasks in a list.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class ListCommand implements Command {","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Prints the task in a list.","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to print the list.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-26"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-26"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" String[] parts \u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-26"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" if (parts.length \u003e\u003d 2) { // If the date is provided","lastModifiedDate":"2023-08-26"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" ui.respond(tasks.getbyDate(parts[1]));","lastModifiedDate":"2023-08-26"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" } else {","lastModifiedDate":"2023-08-26"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" ui.respond(tasks.toString());","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":24}},{"path":"src/main/java/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Command that marks a specific task","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class MarkCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" * Identifies the index of the task to be marked","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * with the last message. Marks it as done.","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" String[] words\u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" int index \u003d Integer.parseInt(words[1])-1;","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" tasks.mark(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Nice! I\u0027ve marked this task as done: \"+\"\\n\"+tasks.get(index));","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" } catch (Exception e){","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong index. Try checking your list first.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":26}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Class responsible for parsing user input and returning","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" * a Command object for execution.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"public class Parser {","lastModifiedDate":"2023-08-20"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-20"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Parses the user input into a Command object.","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * @param userInput The input string from the user.","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @return The corresponding Command object.","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" public static Command parse(String userInput) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" String[] words \u003d userInput.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" switch (words[0]) {","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" case \"bye\":","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" return new ExitCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" case \"list\":","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" return new ListCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" case \"mark\":","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" return new MarkCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" return new UnmarkCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" case \"todo\":","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" case \"event\":","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" return new AddCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" case \"delete\":","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" return new DeleteCommand();","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" default:","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Unknown Command!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":33}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":" * Represents a generic task within the chat bot application.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * The Task Type of the Task.","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" protected Task.TaskType TaskType;","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" protected String description;","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * The completion status of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" protected Boolean isDone;","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" * Constructs a Task with the given description.","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" public Task(String description) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" if (description.trim().length() \u003d\u003d 0) {","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"The description cannot be empty.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of the task including the completion status","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" * and the description.","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" * @return A string representing the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" return isDone ? \"[X] \" + this.description : \"[ ] \" + this.description;","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" public abstract String getRaw();","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" * Marks the task as done.","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" public void mark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-20"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" * Marks the task as not done.","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" public void unmark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" * Three different task types","lastModifiedDate":"2023-08-26"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" protected enum TaskType {","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" TODO, DEADLINE, EVENT","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" * Determine if the task is on a specific date.","lastModifiedDate":"2023-08-26"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" * @param date to compare.","lastModifiedDate":"2023-08-26"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":" * @return true if the task is at a date.","lastModifiedDate":"2023-08-26"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" public boolean onDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-26"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":82,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":82}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-08-26"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Collection of tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"public class TaskList {","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * Constructs an empty TaskList.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" public TaskList() {","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" * Adds a task to the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" * @param task The task to be added.","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" * Removes a task from the task list by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be removed.","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" public void remove(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" tasks.remove(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" * Marks a task as done by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be marked as done.","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" public void mark(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" tasks.get(index).mark();","lastModifiedDate":"2023-08-20"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" * Unmarks a task by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be unmarked.","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" public void unmark(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" tasks.get(index).unmark();","lastModifiedDate":"2023-08-20"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" * Retrieves a task by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be retrieved.","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" * @return The task at the specified index.","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" public Task get(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" return tasks.get(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" * Retrieves the size of the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" * @return The number of tasks in the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" public int size() {","lastModifiedDate":"2023-08-21"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" return tasks.size();","lastModifiedDate":"2023-08-21"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" * Provides a string representation of the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":" * @return A string representation of the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-08-22"},{"lineNumber":82,"author":{"gitId":"iyioon"},"content":" return \"No tasks right now..\\nHave a nice rest!\";","lastModifiedDate":"2023-08-22"},{"lineNumber":83,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":84,"author":{"gitId":"iyioon"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();","lastModifiedDate":"2023-08-20"},{"lineNumber":85,"author":{"gitId":"iyioon"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-20"},{"lineNumber":86,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(i + 1).append(\".\").append(tasks.get(i).toString());","lastModifiedDate":"2023-08-20"},{"lineNumber":87,"author":{"gitId":"iyioon"},"content":" if (i !\u003d tasks.size() - 1) {","lastModifiedDate":"2023-08-20"},{"lineNumber":88,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(\"\\n\");","lastModifiedDate":"2023-08-20"},{"lineNumber":89,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":90,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":91,"author":{"gitId":"iyioon"},"content":" return stringBuilder.toString();","lastModifiedDate":"2023-08-20"},{"lineNumber":92,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":93,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":94,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":95,"author":{"gitId":"iyioon"},"content":" * Returns the task on a specific date.","lastModifiedDate":"2023-08-26"},{"lineNumber":96,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":97,"author":{"gitId":"iyioon"},"content":" * @param date of the task to find.","lastModifiedDate":"2023-08-26"},{"lineNumber":98,"author":{"gitId":"iyioon"},"content":" * @return all task on the date.","lastModifiedDate":"2023-08-26"},{"lineNumber":99,"author":{"gitId":"iyioon"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-26"},{"lineNumber":100,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":101,"author":{"gitId":"iyioon"},"content":" public String getbyDate(String date) throws DukeException {","lastModifiedDate":"2023-08-26"},{"lineNumber":102,"author":{"gitId":"iyioon"},"content":" LocalDate targetDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":103,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":104,"author":{"gitId":"iyioon"},"content":" targetDate \u003d LocalDate.parse(date);","lastModifiedDate":"2023-08-26"},{"lineNumber":105,"author":{"gitId":"iyioon"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":106,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong date format. Please Use format YYYY-MM-DD for searching by date\");","lastModifiedDate":"2023-08-26"},{"lineNumber":107,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":108,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":109,"author":{"gitId":"iyioon"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-08-26"},{"lineNumber":110,"author":{"gitId":"iyioon"},"content":" return \"There are no tasks on \" + targetDate.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-08-26"},{"lineNumber":111,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":112,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":113,"author":{"gitId":"iyioon"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();","lastModifiedDate":"2023-08-26"},{"lineNumber":114,"author":{"gitId":"iyioon"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-26"},{"lineNumber":115,"author":{"gitId":"iyioon"},"content":" if (tasks.get(i).onDate(targetDate)) {","lastModifiedDate":"2023-08-26"},{"lineNumber":116,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(i + 1).append(\".\").append(tasks.get(i).toString());","lastModifiedDate":"2023-08-26"},{"lineNumber":117,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":118,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(\"\\n\");","lastModifiedDate":"2023-08-26"},{"lineNumber":119,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":120,"author":{"gitId":"iyioon"},"content":" return stringBuilder.toString();","lastModifiedDate":"2023-08-26"},{"lineNumber":121,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":122,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":122}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * A simple task only holding the description.","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Constructs a Todo task","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" public Todo(String description) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" super(description);","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" this.TaskType \u003d TaskType.TODO;","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of task","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" * @return A string representing the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" return this.isDone ? \"[T][X] \" + this.description : \"[T][ ] \" + this.description;","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" public String getRaw() {","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" return \"T\" + \"|\" + isDone + \"|\" + this.description;","lastModifiedDate":"2023-08-26"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"iyioon":36}},{"path":"src/main/java/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-20"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-20"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":" * Manages user interaction","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"public class Ui {","lastModifiedDate":"2023-08-20"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * For Storing the chat history","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" private ArrayList\u003cString\u003e history \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-20"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * Scanner object used to read user input.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" private Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" * Displays the welcome message to the user.","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" public void showWelcome() {","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" System.out.println(\"Hello! I\u0027m Ken\");","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" * Prints a line divider for differentiating user and the bot.","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" public void showLine() {","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" System.out.println(\"\");","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" * Receives user input and adds it to the chat history.","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" * @return The user input as a string.","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" public String readInput() {","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" System.out.println(\"[You]\");","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" String userInput \u003d sc.nextLine(); // Read user input","lastModifiedDate":"2023-08-20"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" history.add(userInput); // Update History","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" return userInput;","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" * Sends a response to the user and adds it to the chat history.","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" * @param response The response to be displayed to the user.","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" public void respond(String response) {","lastModifiedDate":"2023-08-20"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" history.add(response); // Update History","lastModifiedDate":"2023-08-20"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" System.out.println(\"[Ken]\\n\" + response);","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" public void showError(String error) {","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" System.out.println(\"OOPS! \"+ error);","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" history.add(error); // Update History","lastModifiedDate":"2023-08-26"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" * Retrieves the last message from the history.","lastModifiedDate":"2023-08-22"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" * @return The last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" public String getLastMsg() {","lastModifiedDate":"2023-08-20"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" return history.get(history.size()-1);","lastModifiedDate":"2023-08-20"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":71}},{"path":"src/main/java/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":" * Command that un-marks a specific task","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"public class UnmarkCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Identifies the index of the task to be un-marked","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * with the last message. Marks it as not done.","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-20"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" String[] words \u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" int index \u003d Integer.parseInt(words[1]) - 1;","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" tasks.unmark(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" ui.respond(\"OK, I\u0027ve marked this task as not done yet:\" + \"\\n\" + tasks.get(index));","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" } catch (Exception e){","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong index. Try checking your list first.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":27}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"todo borrow book","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"iyioon":5}}] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"# duke.Duke project template","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"This is a project template for a greenfield Java project. It\u0027s named after the Java mascot _Duke_. Given below are instructions on how to use it.","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Setting up in Intellij","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"Prerequisites: JDK 11, update Intellij to the most recent version.","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"1. Open Intellij (if you are not in the welcome screen, click `File` \u003e `Close Project` to close the existing project first)","lastModifiedDate":"2021-01-17"},{"lineNumber":10,"author":{"gitId":"-"},"content":"1. Open the project into Intellij as follows:","lastModifiedDate":"2021-01-17"},{"lineNumber":11,"author":{"gitId":"-"},"content":" 1. Click `Open`.","lastModifiedDate":"2021-01-17"},{"lineNumber":12,"author":{"gitId":"-"},"content":" 1. Select the project directory, and click `OK`.","lastModifiedDate":"2021-01-17"},{"lineNumber":13,"author":{"gitId":"-"},"content":" 1. If there are any further prompts, accept the defaults.","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"1. Configure the project to use **JDK 11** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).\u003cbr\u003e","lastModifiedDate":"2021-07-29"},{"lineNumber":15,"author":{"gitId":"-"},"content":" In the same dialog, set the **Project language level** field to the `SDK default` option.","lastModifiedDate":"2021-07-29"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":"3. After that, locate the `src/main/java/duke.Duke.java` file, right-click it, and choose `Run duke.Duke.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output:","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" Hello from","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" ____ _ ","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" | _ \\ _ _| | _____ ","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" | | | | | | | |/ / _ \\","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" | |_| | |_| | \u003c __/","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" |____/ \\__,_|_|\\_\\___|","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"iyioon":2,"-":22}},{"path":"data/duke.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"D|true|this|2023-01-24","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"E|false|test|2021-04-24|2030-02-01","lastModifiedDate":"2023-08-26"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"E|false|a|2021-11-11|2023-01-24","lastModifiedDate":"2023-08-26"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"T|false|test","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"D|false|1|2023-01-24","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"iyioon":5}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.command.Command;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Main entry point of the bot","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * User Interface for generating chats.","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" private Ui ui \u003d new Ui();","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * duke.task.Task list to store the tasks.","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" private TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" * The main entry point of the application.","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-26"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" new Duke().run();","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" * Continuously reads user input,","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" * parses it into commands, and executes the commands","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" * until an exit command is received.","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" public void run() {","lastModifiedDate":"2023-08-20"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" ui.showWelcome();","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" Storage.readTask(tasks, ui);","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" while (!isExit) {","lastModifiedDate":"2023-08-20"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" String userInput \u003d ui.readInput();","lastModifiedDate":"2023-08-20"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" ui.showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" Command command \u003d Parser.parse(userInput);","lastModifiedDate":"2023-08-20"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" isExit \u003d command.execute(this.tasks, ui);","lastModifiedDate":"2023-08-26"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" Storage.writeTask(tasks, ui);","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" ui.showError(e.getMessage());","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" } finally {","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" ui.showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"iyioon":50,"-":2}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.command.*;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Class responsible for parsing user input and returning","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * a duke.command.Command object for execution.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"public class Parser {","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * Parses the user input into a duke.command.Command object.","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" * @param userInput The input string from the user.","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * @return The corresponding duke.command.Command object.","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" public static Command parse(String userInput) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" String[] words \u003d userInput.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" switch (words[0]) {","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" case \"bye\":","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" return new ExitCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" case \"list\":","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" return new ListCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" case \"mark\":","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" return new MarkCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" return new UnmarkCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" case \"todo\":","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" case \"event\":","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" return new AddCommand();","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" case \"delete\":","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" return new DeleteCommand();","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" default:","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Unknown duke.command.Command!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":38}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"import duke.task.Todo;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"import java.io.File;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * FileManager that takes care of reading and writing takes to a file.","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"public class Storage {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" private static String filePath \u003d \"./data/duke.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" * Read the task from the file.","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" public static void readTask(TaskList tasks, Ui ui) {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" File directory \u003d new File(\"./data\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" File file \u003d new File(filePath);","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" if (!directory.exists()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" directory.mkdir();","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" file.createNewFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" ui.showError(\"Error creating new file: \" + e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" Scanner scanner \u003d new Scanner(file);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" while (scanner.hasNextLine()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" Task task;","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" String line \u003d scanner.nextLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" String[] parts \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" String taskType \u003d parts[0];","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" boolean isDone \u003d parts[1].equals(\"true\");","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" String description \u003d parts[2];","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" case \"T\":","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" task \u003d new Todo(description);","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" case \"D\":","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" String date \u003d parts[3];","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" task \u003d new Deadline(description, date);","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" case \"E\":","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" String from \u003d parts[3];","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" String to \u003d parts[4];","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" task \u003d new Event(description, from, to);","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" default:","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" continue;","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" if (isDone) {","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" task.mark();","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" scanner.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" ui.showError(e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":" ui.showError(e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":82,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":83,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":84,"author":{"gitId":"iyioon"},"content":" * Write the task to the file.","lastModifiedDate":"2023-08-28"},{"lineNumber":85,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":86,"author":{"gitId":"iyioon"},"content":" public static void writeTask(TaskList tasks, Ui ui) {","lastModifiedDate":"2023-08-28"},{"lineNumber":87,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":88,"author":{"gitId":"iyioon"},"content":" FileWriter fw \u003d new FileWriter(filePath);","lastModifiedDate":"2023-08-28"},{"lineNumber":89,"author":{"gitId":"iyioon"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":90,"author":{"gitId":"iyioon"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"iyioon"},"content":" fw.write(task.getRaw() + \"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":92,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":93,"author":{"gitId":"iyioon"},"content":" fw.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":94,"author":{"gitId":"iyioon"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":95,"author":{"gitId":"iyioon"},"content":" ui.showError(\"An error occurred while writing to file.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":96,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":97,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":98,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"iyioon":98}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-08-26"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * Collection of tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":"public class TaskList {","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" * Constructs an empty duke.TaskList.","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" public TaskList() {","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" * Adds a task to the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" * @param task The task to be added.","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-20"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" * Removes a task from the task list by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be removed.","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" public void remove(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" tasks.remove(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" * Marks a task as done by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be marked as done.","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" public void mark(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" tasks.get(index).mark();","lastModifiedDate":"2023-08-20"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" * Unmarks a task by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be unmarked.","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" public void unmark(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" tasks.get(index).unmark();","lastModifiedDate":"2023-08-20"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" * Retrieves a task by index.","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" * @param index The index of the task to be retrieved.","lastModifiedDate":"2023-08-22"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" * @return The task at the specified index.","lastModifiedDate":"2023-08-22"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" public Task get(int index) {","lastModifiedDate":"2023-08-20"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" return tasks.get(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" * Retrieves the size of the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" * @return The number of tasks in the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" public int size() {","lastModifiedDate":"2023-08-21"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" return tasks.size();","lastModifiedDate":"2023-08-21"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" * Provides a string representation of the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":82,"author":{"gitId":"iyioon"},"content":" * @return A string representation of the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":83,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":84,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":85,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":86,"author":{"gitId":"iyioon"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-08-22"},{"lineNumber":87,"author":{"gitId":"iyioon"},"content":" return \"No tasks right now..\\nHave a nice rest!\";","lastModifiedDate":"2023-08-22"},{"lineNumber":88,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":89,"author":{"gitId":"iyioon"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();","lastModifiedDate":"2023-08-20"},{"lineNumber":90,"author":{"gitId":"iyioon"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-20"},{"lineNumber":91,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(i + 1).append(\".\").append(tasks.get(i).toString());","lastModifiedDate":"2023-08-20"},{"lineNumber":92,"author":{"gitId":"iyioon"},"content":" if (i !\u003d tasks.size() - 1) {","lastModifiedDate":"2023-08-20"},{"lineNumber":93,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(\"\\n\");","lastModifiedDate":"2023-08-20"},{"lineNumber":94,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":95,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":96,"author":{"gitId":"iyioon"},"content":" return stringBuilder.toString();","lastModifiedDate":"2023-08-20"},{"lineNumber":97,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":98,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":99,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":100,"author":{"gitId":"iyioon"},"content":" * Returns the task on a specific date.","lastModifiedDate":"2023-08-26"},{"lineNumber":101,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":102,"author":{"gitId":"iyioon"},"content":" * @param date of the task to find.","lastModifiedDate":"2023-08-26"},{"lineNumber":103,"author":{"gitId":"iyioon"},"content":" * @return all task on the date.","lastModifiedDate":"2023-08-26"},{"lineNumber":104,"author":{"gitId":"iyioon"},"content":" * @throws DukeException","lastModifiedDate":"2023-08-26"},{"lineNumber":105,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":106,"author":{"gitId":"iyioon"},"content":" public String getbyDate(String date) throws DukeException {","lastModifiedDate":"2023-08-26"},{"lineNumber":107,"author":{"gitId":"iyioon"},"content":" LocalDate targetDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":108,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":109,"author":{"gitId":"iyioon"},"content":" targetDate \u003d LocalDate.parse(date);","lastModifiedDate":"2023-08-26"},{"lineNumber":110,"author":{"gitId":"iyioon"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":111,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong date format. Please Use format YYYY-MM-DD for searching by date\");","lastModifiedDate":"2023-08-26"},{"lineNumber":112,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":113,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":114,"author":{"gitId":"iyioon"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-08-26"},{"lineNumber":115,"author":{"gitId":"iyioon"},"content":" return \"There are no tasks on \" + targetDate.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-08-26"},{"lineNumber":116,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":117,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":118,"author":{"gitId":"iyioon"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();","lastModifiedDate":"2023-08-26"},{"lineNumber":119,"author":{"gitId":"iyioon"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-26"},{"lineNumber":120,"author":{"gitId":"iyioon"},"content":" if (tasks.get(i).onDate(targetDate)) {","lastModifiedDate":"2023-08-26"},{"lineNumber":121,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(i + 1).append(\".\").append(tasks.get(i).toString());","lastModifiedDate":"2023-08-26"},{"lineNumber":122,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":123,"author":{"gitId":"iyioon"},"content":" stringBuilder.append(\"\\n\");","lastModifiedDate":"2023-08-26"},{"lineNumber":124,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":125,"author":{"gitId":"iyioon"},"content":" return stringBuilder.toString();","lastModifiedDate":"2023-08-26"},{"lineNumber":126,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":127,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":127}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-20"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-20"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * Manages user interaction","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"public class Ui {","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * For Storing the chat history","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" private ArrayList\u003cString\u003e history \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-20"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * Scanner object used to read user input.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" private Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" * Displays the welcome message to the user.","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" public void showWelcome() {","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" System.out.println(\"Hello! I\u0027m Ken\");","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-20"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" showLine();","lastModifiedDate":"2023-08-20"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" * Prints a line divider for differentiating user and the bot.","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" public void showLine() {","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" System.out.println(\"\");","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" * Receives user input and adds it to the chat history.","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" * @return The user input as a string.","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" public String readInput() {","lastModifiedDate":"2023-08-20"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" System.out.println(\"[You]\");","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" String userInput \u003d sc.nextLine(); // Read user input","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" history.add(userInput); // Update History","lastModifiedDate":"2023-08-20"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" return userInput;","lastModifiedDate":"2023-08-20"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" * Sends a response to the user and adds it to the chat history.","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" * @param response The response to be displayed to the user.","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" public void respond(String response) {","lastModifiedDate":"2023-08-20"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" history.add(response); // Update History","lastModifiedDate":"2023-08-20"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" System.out.println(\"[Ken]\\n\" + response);","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" public void showError(String error) {","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" System.out.println(\"OOPS! \"+ error);","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" history.add(error); // Update History","lastModifiedDate":"2023-08-26"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" * Retrieves the last message from the history.","lastModifiedDate":"2023-08-22"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" * @return The last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" public String getLastMsg() {","lastModifiedDate":"2023-08-20"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" return history.get(history.size()-1);","lastModifiedDate":"2023-08-20"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":73}},{"path":"src/main/java/duke/command/AddCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.*;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"import duke.task.Event;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"import duke.task.Todo;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * duke.command.Command that adds the task to the task list.","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":"public class AddCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * Determines the type of task using the latest chat message,","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * Creates a new task with the correct type and adds it to the list.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list to which the new task will be added.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last user message.","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" String userInput \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" Task task \u003d null;","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" // Determine the task type based on the message.","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" if (userInput.toLowerCase().startsWith(\"todo\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" task \u003d new Todo(userInput.substring(4).trim());","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" } else if (userInput.toLowerCase().startsWith(\"deadline\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" // Check format","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" if (!userInput.contains(\"/by \"))","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Please use the format: deadline [description] /by [date]\");","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" String[] words \u003d userInput.substring(8).split(\"/by\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" task \u003d new Deadline(words[0].trim(), words[1].trim());","lastModifiedDate":"2023-08-21"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" } else if (userInput.toLowerCase().startsWith(\"event\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" // Check format","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" if (!userInput.contains(\"/from \") || !userInput.contains(\"/to \"))","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Please use the format: event [description] /from [date] /to [date]\");","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" String[] words \u003d userInput.substring(5).split(\"/from\", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" String description \u003d words[0].trim();","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" String[] time \u003d words[1].split(\"/to\");","lastModifiedDate":"2023-08-21"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" String from \u003d time[0].trim();","lastModifiedDate":"2023-08-21"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" String to \u003d time[1].trim();","lastModifiedDate":"2023-08-21"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" task \u003d new Event(description, from, to);","lastModifiedDate":"2023-08-21"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Got it. I\u0027ve added this task:\" + \"\\n\" + task.toString() +","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" \"\\n\" + \"Now you have \" + tasks.size() + \" tasks in the list\");","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":56}},{"path":"src/main/java/duke/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * Represents a command that can be executed within the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"@FunctionalInterface","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"public interface Command {","lastModifiedDate":"2023-08-20"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" * Executes the command and determining whether the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list that may be modified by the command.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface for analyzing chat history.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" * @return {@code true} if the program should terminate after executing this command, or","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" * {@code false} if the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" boolean execute(TaskList tasks, Ui ui) throws DukeException;","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":24}},{"path":"src/main/java/duke/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * duke.command.Command that deletes the task from the task list using index.","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"public class DeleteCommand implements Command{","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" * Identifies the index of the task to be deleted","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * with the last message and deletes it.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" String[] words \u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" int index \u003d Integer.parseInt(words[1])-1;","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" Task temp \u003d tasks.get(index);","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" tasks.remove(index);","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Noted. I\u0027ve removed this task: \"+\"\\n\" + temp +","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" \"\\n\" + \"Now you have \" + tasks.size() + \" tasks in the list\");","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" } catch (Exception e){","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong index. Try checking your list first.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"iyioon":36}},{"path":"src/main/java/duke/command/ExitCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" * duke.command.Command use to end the program.","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"public class ExitCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * Executes the exit command by sending a farewell message.","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list, not used in the exit command.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to send the farewell message.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * @return {@code true} as the program should terminate.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui){","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" return true;","lastModifiedDate":"2023-08-20"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":23}},{"path":"src/main/java/duke/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * duke.command.Command that prints the tasks in a list.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"public class ListCommand implements Command {","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * Prints the task in a list.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to print the list.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-26"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-26"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" String[] parts \u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" if (parts.length \u003e\u003d 2) { // If the date is provided","lastModifiedDate":"2023-08-26"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" ui.respond(tasks.getbyDate(parts[1]));","lastModifiedDate":"2023-08-26"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" } else {","lastModifiedDate":"2023-08-26"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" ui.respond(tasks.toString());","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":30}},{"path":"src/main/java/duke/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * duke.command.Command that marks a specific task","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"public class MarkCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" * Identifies the index of the task to be marked","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * with the last message. Marks it as done.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-20"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" String[] words\u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" int index \u003d Integer.parseInt(words[1])-1;","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" tasks.mark(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" ui.respond(\"Nice! I\u0027ve marked this task as done: \"+\"\\n\"+tasks.get(index));","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" } catch (Exception e){","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong index. Try checking your list first.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":32}},{"path":"src/main/java/duke/command/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.command;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * duke.command.Command that un-marks a specific task","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"public class UnmarkCommand implements Command{","lastModifiedDate":"2023-08-20"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * Identifies the index of the task to be un-marked","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" * with the last message. Marks it as not done.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" * @param tasks The task list containing the tasks.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * @param ui The user interface used to retrieve the last message.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" * @return {@code false} as the program should continue running.","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" public boolean execute(TaskList tasks, Ui ui) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" String msg \u003d ui.getLastMsg();","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" String[] words \u003d msg.toLowerCase().split(\"\\\\s+\");","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" int index \u003d Integer.parseInt(words[1]) - 1;","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" tasks.unmark(index);","lastModifiedDate":"2023-08-20"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" ui.respond(\"OK, I\u0027ve marked this task as not done yet:\" + \"\\n\" + tasks.get(index));","lastModifiedDate":"2023-08-20"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" } catch (Exception e){","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong index. Try checking your list first.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-20"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":33}},{"path":"src/main/java/duke/exception/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.exception;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":" * Represents a custom exception that is specific to the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" * Constructs a new duke.exception.DukeException with the specified message.","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * @param message The message, which can be retrieved by the {@link #getMessage()} method.","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" public DukeException(String message) {","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" super(message);","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"iyioon":16}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.task;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * A task which holds the date which should be completed by.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * The due date of the deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" private LocalDate date;","lastModifiedDate":"2023-08-26"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" * Constructs an unmarked duke.task.Deadline task","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" * with the given description and due date.","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" * @param date The due date of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" public Deadline(String description, String date) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" super(description);","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" this.TaskType \u003d TaskType.DEADLINE;","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" this.date \u003d LocalDate.parse(date);","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong date format. Please Use format YYYY-MM-DD\");","lastModifiedDate":"2023-08-26"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of the deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" * Includes its completion status, description, and due date.","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" * @return A string representing the deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" return isDone ? \"[D][X] \" + this.description + \" (by: \" + formatDate(this.date) + \")\"","lastModifiedDate":"2023-08-26"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" : \"[D][ ] \" + this.description + \" (by: \" + formatDate(this.date) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" * Change the Dates to a different format.","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" private String formatDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"MMM d yyyy\");","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" return date.format(format);","lastModifiedDate":"2023-08-26"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" public String getRaw() {","lastModifiedDate":"2023-08-26"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" return \"D\" + \"|\" + isDone + \"|\" + this.description + \"|\" + date;","lastModifiedDate":"2023-08-26"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" * Determine if the task is on a specific date.","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" * @param date to compare.","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" * @return true if the task is at a date.","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" public boolean onDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" return this.date.equals(date);","lastModifiedDate":"2023-08-26"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"iyioon":77}},{"path":"src/main/java/duke/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.task;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-26"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" * A task which holds the date from and to.","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" * The start time of the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" private LocalDate from;","lastModifiedDate":"2023-08-26"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" * The end time of the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" private LocalDate to;","lastModifiedDate":"2023-08-26"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" * Constructs an duke.task.Event task","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" * @param from The start time of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" * @param to The end time of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" public Event(String description, String from, String to) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" super(description);","lastModifiedDate":"2023-08-21"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" this.TaskType \u003d TaskType.EVENT;","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" try {","lastModifiedDate":"2023-08-26"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" this.from \u003d LocalDate.parse(from);","lastModifiedDate":"2023-08-26"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" this.to \u003d LocalDate.parse(to);","lastModifiedDate":"2023-08-26"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-08-26"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"Wrong date format. Please Use format YYYY-MM-DD\");","lastModifiedDate":"2023-08-26"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" * @return A string representing the event task.","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" return this.isDone ? \"[E][X] \" + this.description + \" (from: \" + formatDate(from) + \" to: \" + formatDate(to) + \")\"","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" : \"[E][ ] \" + this.description + \" (from: \" + formatDate(from) + \" to: \" + formatDate(to) + \")\";","lastModifiedDate":"2023-08-26"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" * Change the Dates to a different format.","lastModifiedDate":"2023-08-26"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":" private String formatDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"MMM d yyyy\");","lastModifiedDate":"2023-08-26"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" return date.format(format);","lastModifiedDate":"2023-08-26"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" public String getRaw() {","lastModifiedDate":"2023-08-26"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" return \"E\" + \"|\" + isDone + \"|\" + this.description + \"|\" + from + \"|\" + to;","lastModifiedDate":"2023-08-26"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" * Determine if the date is between the event date.","lastModifiedDate":"2023-08-26"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" * @param date to compare.","lastModifiedDate":"2023-08-26"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" * @return true if the date is between the event date.","lastModifiedDate":"2023-08-26"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":" public boolean onDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" return date.isAfter(this.from) \u0026\u0026 date.isBefore(this.to);","lastModifiedDate":"2023-08-26"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"iyioon":81}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.task;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-26"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":" * Represents a generic task within the chat bot application.","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * The duke.task.Task Type of the duke.task.Task.","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" protected Task.TaskType TaskType;","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" * The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":" protected String description;","lastModifiedDate":"2023-08-20"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" * The completion status of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" protected Boolean isDone;","lastModifiedDate":"2023-08-20"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-20"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" * Constructs a duke.task.Task with the given description.","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-20"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-20"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-20"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" public Task(String description) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" if (description.trim().length() \u003d\u003d 0) {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" throw new DukeException(\"The description cannot be empty.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-20"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of the task including the completion status","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":" * and the description.","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"iyioon"},"content":" * @return A string representing the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-20"},{"lineNumber":45,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-20"},{"lineNumber":46,"author":{"gitId":"iyioon"},"content":" return isDone ? \"[X] \" + this.description : \"[ ] \" + this.description;","lastModifiedDate":"2023-08-20"},{"lineNumber":47,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":48,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":49,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":50,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":51,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":52,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":53,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":54,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":55,"author":{"gitId":"iyioon"},"content":" public abstract String getRaw();","lastModifiedDate":"2023-08-26"},{"lineNumber":56,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":57,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"iyioon"},"content":" * Marks the task as done.","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"iyioon"},"content":" public void mark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":61,"author":{"gitId":"iyioon"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-20"},{"lineNumber":62,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":63,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-20"},{"lineNumber":64,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":65,"author":{"gitId":"iyioon"},"content":" * Marks the task as not done.","lastModifiedDate":"2023-08-22"},{"lineNumber":66,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":67,"author":{"gitId":"iyioon"},"content":" public void unmark() {","lastModifiedDate":"2023-08-20"},{"lineNumber":68,"author":{"gitId":"iyioon"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-20"},{"lineNumber":69,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-20"},{"lineNumber":70,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":71,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":72,"author":{"gitId":"iyioon"},"content":" * Three different task types","lastModifiedDate":"2023-08-26"},{"lineNumber":73,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":74,"author":{"gitId":"iyioon"},"content":" protected enum TaskType {","lastModifiedDate":"2023-08-26"},{"lineNumber":75,"author":{"gitId":"iyioon"},"content":" TODO, DEADLINE, EVENT","lastModifiedDate":"2023-08-26"},{"lineNumber":76,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":77,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":78,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":79,"author":{"gitId":"iyioon"},"content":" * Determine if the task is on a specific date.","lastModifiedDate":"2023-08-26"},{"lineNumber":80,"author":{"gitId":"iyioon"},"content":" * @param date to compare.","lastModifiedDate":"2023-08-26"},{"lineNumber":81,"author":{"gitId":"iyioon"},"content":" * @return true if the task is at a date.","lastModifiedDate":"2023-08-26"},{"lineNumber":82,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":83,"author":{"gitId":"iyioon"},"content":" public boolean onDate(LocalDate date) {","lastModifiedDate":"2023-08-26"},{"lineNumber":84,"author":{"gitId":"iyioon"},"content":" return false;","lastModifiedDate":"2023-08-26"},{"lineNumber":85,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":86,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-20"}],"authorContributionMap":{"iyioon":86}},{"path":"src/main/java/duke/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"package duke.task;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"import duke.exception.DukeException;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"iyioon"},"content":" * A simple task only holding the description.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"iyioon"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"iyioon"},"content":" * Constructs a duke.task.Todo task","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"iyioon"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"iyioon"},"content":" public Todo(String description) throws DukeException {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"iyioon"},"content":" super(description);","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"iyioon"},"content":" this.TaskType \u003d TaskType.TODO;","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"iyioon"},"content":" * Returns a string representation of task","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"iyioon"},"content":" * @return A string representing the task.","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"iyioon"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"iyioon"},"content":" return this.isDone ? \"[T][X] \" + this.description : \"[T][ ] \" + this.description;","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"iyioon"},"content":"","lastModifiedDate":"2023-08-26"},{"lineNumber":30,"author":{"gitId":"iyioon"},"content":" /**","lastModifiedDate":"2023-08-26"},{"lineNumber":31,"author":{"gitId":"iyioon"},"content":" * Used for easier readability during","lastModifiedDate":"2023-08-26"},{"lineNumber":32,"author":{"gitId":"iyioon"},"content":" * storing into the file.","lastModifiedDate":"2023-08-26"},{"lineNumber":33,"author":{"gitId":"iyioon"},"content":" *","lastModifiedDate":"2023-08-26"},{"lineNumber":34,"author":{"gitId":"iyioon"},"content":" * @return the raw version of the task for storing.","lastModifiedDate":"2023-08-26"},{"lineNumber":35,"author":{"gitId":"iyioon"},"content":" */","lastModifiedDate":"2023-08-26"},{"lineNumber":36,"author":{"gitId":"iyioon"},"content":" @Override","lastModifiedDate":"2023-08-26"},{"lineNumber":37,"author":{"gitId":"iyioon"},"content":" public String getRaw() {","lastModifiedDate":"2023-08-26"},{"lineNumber":38,"author":{"gitId":"iyioon"},"content":" return \"T\" + \"|\" + isDone + \"|\" + this.description;","lastModifiedDate":"2023-08-26"},{"lineNumber":39,"author":{"gitId":"iyioon"},"content":" }","lastModifiedDate":"2023-08-26"},{"lineNumber":40,"author":{"gitId":"iyioon"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"iyioon":40}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"iyioon"},"content":"todo borrow book","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"iyioon"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"iyioon"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"iyioon"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"iyioon"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"iyioon":5}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"iyioon"},"content":"java -classpath ..\\bin duke.Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"iyioon":1,"-":20}}] diff --git a/iyioon_ip_master/commits.json b/iyioon_ip_master/commits.json index 6e1f3155..1d8a3913 100644 --- a/iyioon_ip_master/commits.json +++ b/iyioon_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"iyioon":[{"date":"2023-08-20","commitResults":[{"hash":"c0409395a3c641404d65b3e420cd0cfe00dd129d","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":6}}},{"hash":"65562dacb123535f271727d7501986f3b76f6e3d","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":2}}},{"hash":"8f6fb3b4cfc77a4ed5ef42ad63412b293426d681","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":97,"deletions":21}}},{"hash":"714f88db58e851a9b3f5ccc7b0b001a2948646ec","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":63,"deletions":28}}}]},{"date":"2023-08-21","commitResults":[{"hash":"ef5f0042d3217b7b81821d8c028656ae16b875b5","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":4}}}]},{"date":"2023-08-22","commitResults":[{"hash":"6fd34554bc84c0cb848396f21d25d8805e658a99","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"Also added documentation\n","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":245,"deletions":4}}},{"hash":"db73e7accd4648be397d2725e3d0c876546dbae0","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":20}}},{"hash":"3d47a530a9defd0b22691ee78924363f634404f3","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":9}}},{"hash":"66cbf6a2776827521f1e5b8f23a152c986813273","isMergeCommit":false,"messageTitle":"A-Enums","messageBody":"- Added Enums\n- Improved UI\n- Updated testcases\n","tags":["A-Enums"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":18,"deletions":2}}}]},{"date":"2023-08-26","commitResults":[{"hash":"98b351952f24d491d4ae4992fe73969d7d527853","isMergeCommit":false,"messageTitle":"change code format style for switch statement","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":16}}},{"hash":"90de9d532bb2fd68313274f0a310656572886e02","isMergeCommit":false,"messageTitle":"Level-7 Save task on a file","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":142,"deletions":14}}},{"hash":"0badf7453e57baa610b088f9315cc2ff8ef10962","isMergeCommit":false,"messageTitle":"Add readTask and WriteTask Documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"54c795f0f9f63ae3647d6903090100d6ccd5a8ac","isMergeCommit":false,"messageTitle":"Level 8 Change date format","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":10}}},{"hash":"27ca656017e3812decd67ba45e019f7ba706c826","isMergeCommit":false,"messageTitle":"Print task in a different format","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":34,"deletions":16}}},{"hash":"334eaaae4a03a42461d4f01507340e696de79846","isMergeCommit":false,"messageTitle":"Add a command to print deadlines/events occurring on a specific date. - Use list [date]","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":75,"deletions":7}}},{"hash":"65e69ab96b327b33948c65eefed57b2f809ef6a9","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"iyioon":{"java":829,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":8}},"authorContributionVariance":{"iyioon":28093.209},"authorDisplayNameMap":{"iyioon":"CS2103T-F10-1 MOON..HOON"}} +{"authorDailyContributionsMap":{"iyioon":[{"date":"2023-08-20","commitResults":[{"hash":"c0409395a3c641404d65b3e420cd0cfe00dd129d","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":6}}},{"hash":"65562dacb123535f271727d7501986f3b76f6e3d","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":2}}},{"hash":"8f6fb3b4cfc77a4ed5ef42ad63412b293426d681","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":97,"deletions":21}}},{"hash":"714f88db58e851a9b3f5ccc7b0b001a2948646ec","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":63,"deletions":28}}}]},{"date":"2023-08-21","commitResults":[{"hash":"ef5f0042d3217b7b81821d8c028656ae16b875b5","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":4}}}]},{"date":"2023-08-22","commitResults":[{"hash":"6fd34554bc84c0cb848396f21d25d8805e658a99","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"Also added documentation\n","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":245,"deletions":4}}},{"hash":"db73e7accd4648be397d2725e3d0c876546dbae0","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":20}}},{"hash":"3d47a530a9defd0b22691ee78924363f634404f3","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":9}}},{"hash":"66cbf6a2776827521f1e5b8f23a152c986813273","isMergeCommit":false,"messageTitle":"A-Enums","messageBody":"- Added Enums\n- Improved UI\n- Updated testcases\n","tags":["A-Enums"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":18,"deletions":2}}}]},{"date":"2023-08-26","commitResults":[{"hash":"98b351952f24d491d4ae4992fe73969d7d527853","isMergeCommit":false,"messageTitle":"change code format style for switch statement","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":16}}},{"hash":"90de9d532bb2fd68313274f0a310656572886e02","isMergeCommit":false,"messageTitle":"Level-7 Save task on a file","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":142,"deletions":14}}},{"hash":"0badf7453e57baa610b088f9315cc2ff8ef10962","isMergeCommit":false,"messageTitle":"Add readTask and WriteTask Documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"54c795f0f9f63ae3647d6903090100d6ccd5a8ac","isMergeCommit":false,"messageTitle":"Level 8 Change date format","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":10}}},{"hash":"27ca656017e3812decd67ba45e019f7ba706c826","isMergeCommit":false,"messageTitle":"Print task in a different format","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":34,"deletions":16}}},{"hash":"334eaaae4a03a42461d4f01507340e696de79846","isMergeCommit":false,"messageTitle":"Add a command to print deadlines/events occurring on a specific date. - Use list [date]","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":75,"deletions":7}}},{"hash":"65e69ab96b327b33948c65eefed57b2f809ef6a9","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"7808c61bd689b68c0cecf9082c87c0ce387681b0","isMergeCommit":false,"messageTitle":"A-MoreOOP","messageBody":"Move method for storing and saving tasks to a file to a separate class\n","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":92,"deletions":85}}},{"hash":"09126df116c2d83ef90becb81c9afed5627c0c9a","isMergeCommit":false,"messageTitle":"A-MoreOOP","messageBody":"Rename FileManger to Storage\n","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":10}}},{"hash":"f23ff5806f041248843d491bb59e5091e7d47ea4","isMergeCommit":false,"messageTitle":"A-Packages - put all classes in one package duke - divide packages into duke.task, duke.command, duke.execption","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":1},"java":{"insertions":109,"deletions":21},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}}]}]},"authorFileTypeContributionMap":{"iyioon":{"java":920,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":0,"txt":10}},"authorContributionVariance":{"iyioon":28244.988},"authorDisplayNameMap":{"iyioon":"CS2103T-F10-1 MOON..HOON"}} diff --git a/lilozz2_ip_master/authorship.json b/lilozz2_ip_master/authorship.json index fe51488c..df22659f 100644 --- a/lilozz2_ip_master/authorship.json +++ b/lilozz2_ip_master/authorship.json @@ -1 +1 @@ -[] +[{"path":"src/main/java/Deadlines.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"public class Deadlines extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":" protected String by;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":" public Deadlines(String description, String by) {","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"lilozz2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"lilozz2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"lilozz2"},"content":" return String.format(\"[D]%s (by: %s)\", super.toString(), this.by);","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"lilozz2":12}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-21"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":"import java.util.*;","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":"import duke.exceptions.InvalidCommandException;","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":"import duke.exceptions.InvalidTaskException;","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"lilozz2"},"content":"import duke.exceptions.TaskIndexOutOfBoundsException;","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"lilozz2"},"content":" protected static String line \u003d \"----------------------------------------------------\\n\";","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"lilozz2"},"content":" protected static List\u003cTask\u003e list \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"lilozz2"},"content":" protected static Scanner myObj \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"lilozz2"},"content":" public static String format_response(String response) {","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"lilozz2"},"content":" return response + \"\\n\\n\" + line;","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"lilozz2"},"content":" public static void greet() {","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"lilozz2"},"content":" System.out.println(line);","lastModifiedDate":"2023-08-21"},{"lineNumber":21,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"lilozz2"},"content":" \"Hello I\u0027m Project54\\n\" +","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"lilozz2"},"content":" \"What can I do for you?\"","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"lilozz2"},"content":" ));","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"lilozz2"},"content":" public static Matcher regexParse(String regex, String text) {","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"lilozz2"},"content":" Pattern pattern \u003d Pattern.compile(regex);","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"lilozz2"},"content":" Matcher matcher \u003d pattern.matcher(text);","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"lilozz2"},"content":" return matcher;","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"lilozz2"},"content":" public static String getCommand(String input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"lilozz2"},"content":" if (input \u003d\u003d null || input.trim().isEmpty()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"lilozz2"},"content":" return null; // Return null for empty input or whitespace","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"lilozz2"},"content":" input \u003d input.trim(); // Remove leading and trailing whitespace","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"lilozz2"},"content":" int spaceIndex \u003d input.indexOf(\u0027 \u0027); // Find the index of the first space","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"lilozz2"},"content":" if (spaceIndex \u003d\u003d -1) {","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"lilozz2"},"content":" return input; // If no space found, the whole string is the first word","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"lilozz2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"lilozz2"},"content":" return input.substring(0, spaceIndex); // Extract the first word using substring","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"lilozz2"},"content":" public static void printList(List\u003cTask\u003e list){","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"lilozz2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"lilozz2"},"content":" for (int i \u003d 0; i \u003c list.size(); i++) {","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"lilozz2"},"content":" response +\u003d String.format(\"%d. %s\\n\", i+1, list.get(i));","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(response.substring(0, response.length() - 1)));","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":56,"author":{"gitId":"lilozz2"},"content":" public static void reply() {","lastModifiedDate":"2023-08-22"},{"lineNumber":57,"author":{"gitId":"lilozz2"},"content":" String response \u003d myObj.nextLine();","lastModifiedDate":"2023-08-21"},{"lineNumber":58,"author":{"gitId":"lilozz2"},"content":" while (!response.equals(\"bye\")) {","lastModifiedDate":"2023-08-21"},{"lineNumber":59,"author":{"gitId":"lilozz2"},"content":" processResponse(response);","lastModifiedDate":"2023-08-23"},{"lineNumber":60,"author":{"gitId":"lilozz2"},"content":" response \u003d myObj.nextLine();","lastModifiedDate":"2023-08-23"},{"lineNumber":61,"author":{"gitId":"lilozz2"},"content":" };","lastModifiedDate":"2023-08-23"},{"lineNumber":62,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":63,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":64,"author":{"gitId":"lilozz2"},"content":" public static void processResponse(String response) {","lastModifiedDate":"2023-08-23"},{"lineNumber":65,"author":{"gitId":"lilozz2"},"content":" Matcher matcher;","lastModifiedDate":"2023-08-23"},{"lineNumber":66,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"lilozz2"},"content":" switch(response.split(\" \")[0]) {","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"lilozz2"},"content":" case \"list\":","lastModifiedDate":"2023-08-22"},{"lineNumber":69,"author":{"gitId":"lilozz2"},"content":" printList(list);","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"lilozz2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":71,"author":{"gitId":"lilozz2"},"content":" case \"mark\":","lastModifiedDate":"2023-08-22"},{"lineNumber":72,"author":{"gitId":"lilozz2"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-22"},{"lineNumber":73,"author":{"gitId":"lilozz2"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":74,"author":{"gitId":"lilozz2"},"content":" boolean done \u003d response.split(\" \")[0].equals(\"mark\") ? true : false;","lastModifiedDate":"2023-08-23"},{"lineNumber":75,"author":{"gitId":"lilozz2"},"content":" int taskIndex \u003d Integer.parseInt(response.split(\" \")[1]) - 1;","lastModifiedDate":"2023-08-23"},{"lineNumber":76,"author":{"gitId":"lilozz2"},"content":" if (taskIndex \u003c 0 || taskIndex \u003e\u003d list.size()) {","lastModifiedDate":"2023-08-23"},{"lineNumber":77,"author":{"gitId":"lilozz2"},"content":" throw new TaskIndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2023-08-23"},{"lineNumber":78,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":79,"author":{"gitId":"lilozz2"},"content":" list.get(taskIndex).setDone(done);","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"lilozz2"},"content":" printList(list);","lastModifiedDate":"2023-08-22"},{"lineNumber":81,"author":{"gitId":"lilozz2"},"content":" } catch (NumberFormatException | ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":82,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(\"Invalid input. Usage: mark \u003ctask_index\u003e\"));","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"lilozz2"},"content":" } catch (TaskIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":84,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(\"Invalid task index. Please provide a valid index.\"));","lastModifiedDate":"2023-08-23"},{"lineNumber":85,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":86,"author":{"gitId":"lilozz2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":87,"author":{"gitId":"lilozz2"},"content":" case \"todo\":","lastModifiedDate":"2023-08-22"},{"lineNumber":88,"author":{"gitId":"lilozz2"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":89,"author":{"gitId":"lilozz2"},"content":" matcher \u003d regexParse(\"^todo\\\\s([\\\\w\\\\s]*)$\", response);","lastModifiedDate":"2023-08-22"},{"lineNumber":90,"author":{"gitId":"lilozz2"},"content":" if (!matcher.find() || matcher.groupCount() !\u003d 1) {","lastModifiedDate":"2023-08-23"},{"lineNumber":91,"author":{"gitId":"lilozz2"},"content":" throw new InvalidTaskException(\"Invalid use of todo. Usage: todo \u003ctask description\u003e\");","lastModifiedDate":"2023-08-23"},{"lineNumber":92,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":93,"author":{"gitId":"lilozz2"},"content":" list.add(new ToDo(matcher.group(1)));","lastModifiedDate":"2023-08-22"},{"lineNumber":94,"author":{"gitId":"lilozz2"},"content":" printList(list);","lastModifiedDate":"2023-08-22"},{"lineNumber":95,"author":{"gitId":"lilozz2"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":96,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(e.getMessage()));","lastModifiedDate":"2023-08-23"},{"lineNumber":97,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":98,"author":{"gitId":"lilozz2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":99,"author":{"gitId":"lilozz2"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-22"},{"lineNumber":100,"author":{"gitId":"lilozz2"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":101,"author":{"gitId":"lilozz2"},"content":" matcher \u003d regexParse(\"^deadline\\\\s([\\\\w\\\\s]*)\\\\s\\\\/by\\\\s([\\\\w\\\\s]*)$\", response);","lastModifiedDate":"2023-08-22"},{"lineNumber":102,"author":{"gitId":"lilozz2"},"content":" if (!matcher.find() || matcher.groupCount() !\u003d 2) {","lastModifiedDate":"2023-08-23"},{"lineNumber":103,"author":{"gitId":"lilozz2"},"content":" throw new InvalidTaskException(","lastModifiedDate":"2023-08-23"},{"lineNumber":104,"author":{"gitId":"lilozz2"},"content":" \"Invalid use of deadline. Usage: deadline \u003ctask description\u003e /by \u003cdate \u0026 time\u003e\"","lastModifiedDate":"2023-08-23"},{"lineNumber":105,"author":{"gitId":"lilozz2"},"content":" );","lastModifiedDate":"2023-08-23"},{"lineNumber":106,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":107,"author":{"gitId":"lilozz2"},"content":" list.add(new Deadlines(matcher.group(1), matcher.group(2)));","lastModifiedDate":"2023-08-22"},{"lineNumber":108,"author":{"gitId":"lilozz2"},"content":" printList(list);","lastModifiedDate":"2023-08-22"},{"lineNumber":109,"author":{"gitId":"lilozz2"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":110,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(e.getMessage()));","lastModifiedDate":"2023-08-23"},{"lineNumber":111,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":112,"author":{"gitId":"lilozz2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":113,"author":{"gitId":"lilozz2"},"content":" case \"event\":","lastModifiedDate":"2023-08-22"},{"lineNumber":114,"author":{"gitId":"lilozz2"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":115,"author":{"gitId":"lilozz2"},"content":" matcher \u003d regexParse(\"^event\\\\s([\\\\w\\\\s]*)\\\\s\\\\/from\\\\s([\\\\w\\\\s]*)\\\\s\\\\/to\\\\s([\\\\w\\\\s]*)$\", response);","lastModifiedDate":"2023-08-22"},{"lineNumber":116,"author":{"gitId":"lilozz2"},"content":" if (!matcher.find() || matcher.groupCount() !\u003d 3) {","lastModifiedDate":"2023-08-23"},{"lineNumber":117,"author":{"gitId":"lilozz2"},"content":" throw new InvalidTaskException(","lastModifiedDate":"2023-08-23"},{"lineNumber":118,"author":{"gitId":"lilozz2"},"content":" \"Invalid use of event. Usage: event \u003ctask description\u003e /from \u003cdate \u0026 time\u003e /to \u003cdate \u0026 time\u003e\"","lastModifiedDate":"2023-08-23"},{"lineNumber":119,"author":{"gitId":"lilozz2"},"content":" );","lastModifiedDate":"2023-08-23"},{"lineNumber":120,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":121,"author":{"gitId":"lilozz2"},"content":" list.add(new Event(matcher.group(1), matcher.group(2), matcher.group(3)));","lastModifiedDate":"2023-08-22"},{"lineNumber":122,"author":{"gitId":"lilozz2"},"content":" printList(list);","lastModifiedDate":"2023-08-22"},{"lineNumber":123,"author":{"gitId":"lilozz2"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":124,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(e.getMessage()));","lastModifiedDate":"2023-08-23"},{"lineNumber":125,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":126,"author":{"gitId":"lilozz2"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":127,"author":{"gitId":"lilozz2"},"content":" case \"delete\":","lastModifiedDate":"2023-08-23"},{"lineNumber":128,"author":{"gitId":"lilozz2"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":129,"author":{"gitId":"lilozz2"},"content":" int taskIndex \u003d Integer.parseInt(response.split(\" \")[1]) - 1;","lastModifiedDate":"2023-08-23"},{"lineNumber":130,"author":{"gitId":"lilozz2"},"content":" if (taskIndex \u003c 0 || taskIndex \u003e\u003d list.size()) {","lastModifiedDate":"2023-08-23"},{"lineNumber":131,"author":{"gitId":"lilozz2"},"content":" throw new TaskIndexOutOfBoundsException(\"Invalid task index\");","lastModifiedDate":"2023-08-23"},{"lineNumber":132,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":133,"author":{"gitId":"lilozz2"},"content":" list.remove(Integer.parseInt(response.split(\" \")[1])-1);","lastModifiedDate":"2023-08-23"},{"lineNumber":134,"author":{"gitId":"lilozz2"},"content":" printList(list);","lastModifiedDate":"2023-08-23"},{"lineNumber":135,"author":{"gitId":"lilozz2"},"content":" } catch (NumberFormatException | ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":136,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(\"Invalid input. Usage: delete \u003ctask_index\u003e\"));","lastModifiedDate":"2023-08-23"},{"lineNumber":137,"author":{"gitId":"lilozz2"},"content":" } catch (TaskIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-23"},{"lineNumber":138,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(\"Invalid task index. Please provide a valid index.\"));","lastModifiedDate":"2023-08-23"},{"lineNumber":139,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":140,"author":{"gitId":"lilozz2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":141,"author":{"gitId":"lilozz2"},"content":" default: {","lastModifiedDate":"2023-08-22"},{"lineNumber":142,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(","lastModifiedDate":"2023-08-22"},{"lineNumber":143,"author":{"gitId":"lilozz2"},"content":" \"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\"","lastModifiedDate":"2023-08-23"},{"lineNumber":144,"author":{"gitId":"lilozz2"},"content":" ));","lastModifiedDate":"2023-08-22"},{"lineNumber":145,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":146,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":147,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":148,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":149,"author":{"gitId":"lilozz2"},"content":" public static void bye() {","lastModifiedDate":"2023-08-22"},{"lineNumber":150,"author":{"gitId":"lilozz2"},"content":" System.out.println(format_response(","lastModifiedDate":"2023-08-22"},{"lineNumber":151,"author":{"gitId":"lilozz2"},"content":" \"Bye. Hope to see you again soon\"","lastModifiedDate":"2023-08-22"},{"lineNumber":152,"author":{"gitId":"lilozz2"},"content":" ));","lastModifiedDate":"2023-08-22"},{"lineNumber":153,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":154,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-22"},{"lineNumber":155,"author":{"gitId":"lilozz2"},"content":" greet();","lastModifiedDate":"2023-08-22"},{"lineNumber":156,"author":{"gitId":"lilozz2"},"content":" reply();","lastModifiedDate":"2023-08-22"},{"lineNumber":157,"author":{"gitId":"lilozz2"},"content":" bye();","lastModifiedDate":"2023-08-21"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":159,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"lilozz2":155,"-":4}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":" protected String from;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":" protected String to;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"lilozz2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"lilozz2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"lilozz2"},"content":" return String.format(\"[E]%s (from: %s to: %s)\", super.toString(), this.from, this.to);","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"lilozz2":14}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"public class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":" protected String description;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"lilozz2"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"lilozz2"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"lilozz2"},"content":" public void setDone(boolean status) {","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"lilozz2"},"content":" this.isDone \u003d status;","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"lilozz2"},"content":" public void setNotDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"lilozz2"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"lilozz2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"lilozz2"},"content":" return String.format(\"[%s] %s\", getStatusIcon(), this.description);","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"lilozz2":25}},{"path":"src/main/java/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":" public ToDo(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"lilozz2"},"content":" return String.format(\"[T]%s\", super.toString());","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"lilozz2":10}},{"path":"src/main/java/duke/exceptions/InvalidCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"package duke.exceptions;","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":"public class InvalidCommandException extends Exception {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":" public InvalidCommandException(String message) {","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":" super(message);","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"lilozz2":7}},{"path":"src/main/java/duke/exceptions/InvalidTaskException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"package duke.exceptions;","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":"public class InvalidTaskException extends Exception {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":" public InvalidTaskException(String message) {","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":" super(message);","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"lilozz2":7}},{"path":"src/main/java/duke/exceptions/TaskIndexOutOfBoundsException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"lilozz2"},"content":"package duke.exceptions;","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"lilozz2"},"content":"public class TaskIndexOutOfBoundsException extends Exception {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"lilozz2"},"content":" public TaskIndexOutOfBoundsException(String message) {","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"lilozz2"},"content":" super(message);","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"lilozz2"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"lilozz2"},"content":"}","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"lilozz2"},"content":"","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"lilozz2":8}}] diff --git a/lilozz2_ip_master/commits.json b/lilozz2_ip_master/commits.json index f83a1050..c97d670c 100644 --- a/lilozz2_ip_master/commits.json +++ b/lilozz2_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"lilozz2":[]},"authorFileTypeContributionMap":{"lilozz2":{"java":0,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"lilozz2":0.0},"authorDisplayNameMap":{"lilozz2":"CS2103T-F11-4 JAIR.. GOH"}} +{"authorDailyContributionsMap":{"lilozz2":[{"date":"2023-08-21","commitResults":[{"hash":"6ca4aa81e5e143d4099dd02f4c1277f168d32e7d","isMergeCommit":false,"messageTitle":"Rename, Greet \u0026 Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":6}}},{"hash":"23914e0e0ce906e76edfd0aec2eff7a8b926d8ef","isMergeCommit":false,"messageTitle":"Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":3}}}]},{"date":"2023-08-22","commitResults":[{"hash":"0d4cebeb6d741acc9097c1374f5332fe6dcd8f32","isMergeCommit":false,"messageTitle":"Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":8}}},{"hash":"78057ccbc9a908a3187d5521f2a9dac0580d8370","isMergeCommit":false,"messageTitle":"Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":4}}},{"hash":"64f3745e36fc785375b18a7440df34fddec026cd","isMergeCommit":false,"messageTitle":"ToDo, Event, Deadline","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":4}}},{"hash":"4d3d76b2717a8883af1a3e84dfc8e920f6f3e42a","isMergeCommit":false,"messageTitle":"Automated Unit Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":57,"deletions":4}}}]},{"date":"2023-08-23","commitResults":[{"hash":"fec037319c21f3558a07a9b25300ac5a06e56e89","isMergeCommit":false,"messageTitle":"Handling Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":98,"deletions":38},"sh":{"insertions":0,"deletions":0}}},{"hash":"b4f5cf6ded6ec5d9f29a0cd6cc5c31c15e9a745f","isMergeCommit":false,"messageTitle":"Delete","messageBody":"","tags":["Level-6","Delete"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":2}}}]}]},"authorFileTypeContributionMap":{"lilozz2":{"java":238,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"lilozz2":5567.555},"authorDisplayNameMap":{"lilozz2":"CS2103T-F11-4 JAIR.. GOH"}} diff --git a/reposense-logs/reposense.log.0 b/reposense-logs/reposense.log.0 index a09e247d..36bdf95b 100644 --- a/reposense-logs/reposense.log.0 +++ b/reposense-logs/reposense.log.0 @@ -1,54 +1,54 @@ -Aug 28, 2023 1:54:48 PM reposense.system.LogsManager addFileHandler +Aug 28, 2023 2:13:33 PM reposense.system.LogsManager addFileHandler INFO: Log temp folder has been successfully created -Aug 28, 2023 1:54:48 PM reposense.parser.CsvParser validateHeader +Aug 28, 2023 2:13:33 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, repo-config.csv, and recognized columns: Ignore Standalone Config, Repository's Location, Branch, Shallow Cloning, File formats, Ignore Glob List, Ignore Authors List, Find Previous Authors, Ignore Commits List -Aug 28, 2023 1:54:50 PM reposense.parser.CsvParser validateHeader +Aug 28, 2023 2:13:34 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, author-config.csv, and recognized columns: Author's Emails, Repository's Location, Author's GitHub ID, Branch, Author's Display Name, Ignore Glob List, Author's Git Author Name -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias scarletblanks found. The alias will belong to the last author - ScarletBlanks -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kb-tay found. The alias will belong to the last author - Kb-Tay -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias h1410101 found. The alias will belong to the last author - H1410101 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias shashahchk found. The alias will belong to the last author - shashahchk -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yucongkoo found. The alias will belong to the last author - yucongkoo -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kokseng1 found. The alias will belong to the last author - Kokseng1 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias vanessamae23 found. The alias will belong to the last author - Vanessamae23 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias singa-pirate found. The alias will belong to the last author - Singa-pirate -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nicholastng010601 found. The alias will belong to the last author - nicholastng010601 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias weiennn found. The alias will belong to the last author - Weiennn -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias adammangzijun found. The alias will belong to the last author - adammangzijun -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias scarletblanks found. The alias will belong to the last author - ScarletBlanks -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kb-tay found. The alias will belong to the last author - Kb-Tay -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias h1410101 found. The alias will belong to the last author - H1410101 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias shashahchk found. The alias will belong to the last author - shashahchk -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yucongkoo found. The alias will belong to the last author - yucongkoo -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kokseng1 found. The alias will belong to the last author - Kokseng1 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias vanessamae23 found. The alias will belong to the last author - Vanessamae23 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias singa-pirate found. The alias will belong to the last author - Singa-pirate -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nicholastng010601 found. The alias will belong to the last author - nicholastng010601 -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias weiennn found. The alias will belong to the last author - Weiennn -Aug 28, 2023 1:54:50 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Aug 28, 2023 2:13:34 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias adammangzijun found. The alias will belong to the last author - adammangzijun -Aug 28, 2023 1:54:50 PM reposense.git.GitConfig getGlobalGitLfsConfig +Aug 28, 2023 2:13:34 PM reposense.git.GitConfig getGlobalGitLfsConfig WARNING: Could not get global git lfs config java.lang.RuntimeException: reposense.system.CommandRunnerProcessException: Error returned from command git config --global --list on path . : fatal: unable to read config file '/home/runner/.gitconfig': No such file or directory @@ -64,869 +64,879 @@ fatal: unable to read config file '/home/runner/.gitconfig': No such file or dir at reposense.system.CommandRunner.runCommand(CommandRunner.java:21) ... 3 more -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/siqirua/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:34 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/emzm2023/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/thaddeusong/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:34 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/CJ-Lee01/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/CJ-Lee01/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/siqirua/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:34 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/siqirua/ip.git... +Aug 28, 2023 2:13:34 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/thaddeusong/ip.git... +Aug 28, 2023 2:13:34 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/thaddeusong/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/emzm2023/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/CJ-Lee01/ip.git to complete... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/siqirua/ip.git to complete... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/emzm2023/ip.git completed! -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanteckfang/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [1/479] Analyzing https://github.com/emzm2023/ip.git (master)... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/thaddeusong/ip.git completed! -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/CJ-Lee01/ip.git completed! -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tanteckfang/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/CJ-Lee01/ip.git completed! +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/siqirua/ip.git completed! -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ph-nathan/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/butteredyakiimo/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yuxunn/ip.git... -Aug 28, 2023 1:54:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [2/479] Analyzing https://github.com/thaddeusong/ip.git (master)... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/butteredyakiimo/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/emzm2023/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/butteredyakiimo/ip.git... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ph-nathan/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/emzm2023/ip.git (master)... -Aug 28, 2023 1:54:50 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yuxunn/ip.git... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/butteredyakiimo/ip.git to complete... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yuxunn/ip.git to complete... -Aug 28, 2023 1:54:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/thaddeusong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/thaddeusong/ip.git (master)... -Aug 28, 2023 1:54:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/emzm2023/ip.git (master)... +Aug 28, 2023 2:13:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/emzm2023/ip.git (master)... -Aug 28, 2023 1:54:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/emzm2023/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/emzm2023/ip.git (master) completed! -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [3/479] Analyzing https://github.com/CJ-Lee01/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanteckfang/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RB9823/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CJ-Lee01/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CJ-Lee01/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/butteredyakiimo/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanteckfang/ip.git completed! +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RB9823/ip.git... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ph-nathan/ip.git completed! +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RB9823/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TyrusLye/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TyrusLye/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ph-nathan/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/butteredyakiimo/ip.git completed! +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yuxunn/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/cxo05/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shyanyong/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TyrusLye/ip.git to complete... +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/cxo05/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shyanyong/ip.git... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shyanyong/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TyrusLye/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RB9823/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/thaddeusong/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/thaddeusong/ip.git (master)... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RB9823/ip.git completed! +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/howenc/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kurtyjlee/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/howenc/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kurtyjlee/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/thaddeusong/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/thaddeusong/ip.git (master) completed! -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [4/479] Analyzing https://github.com/siqirua/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cxo05/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/CJ-Lee01/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shyanyong/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/josepholim/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/siqirua/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/siqirua/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/CJ-Lee01/ip.git (master)... +Aug 28, 2023 2:13:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CJ-Lee01/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CJ-Lee01/ip.git (master) completed! -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [5/479] Analyzing https://github.com/tanteckfang/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/geoffong11/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/josepholim/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/geoffong11/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TyrusLye/ip.git completed! +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shyanyong/ip.git completed! +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cxo05/ip.git completed! +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kurtyjlee/ip.git... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/josepholim/ip.git... +Aug 28, 2023 2:13:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tanteckfang/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tanteckfang/ip.git (master)... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kurtyjlee/ip.git to complete... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/josepholim/ip.git to complete... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/geoffong11/ip.git... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/geoffong11/ip.git to complete... +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/howenc/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jianrong7/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kurtyjlee/ip.git completed! -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jianrong7/ip.git to complete... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/josepholim/ip.git completed! +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/A1WAYSD/ip.git... -Aug 28, 2023 1:54:51 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kurtyjlee/ip.git completed! +Aug 28, 2023 2:13:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/A1WAYSD/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/josepholim/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/NgChunMan/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/geoffong11/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/NgChunMan/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanteckfang/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/limjunxian1/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jianrong7/ip.git completed! +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/limjunxian1/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanteckfang/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jack1e0/ip.git... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jack1e0/ip.git to complete... +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanteckfang/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanteckfang/ip.git (master) completed! -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator analyzeRepos -INFO: [6/479] Analyzing https://github.com/butteredyakiimo/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jianrong7/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [6/479] Analyzing https://github.com/ph-nathan/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/siqirua/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ph-nathan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ph-nathan/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/siqirua/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/A1WAYSD/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jack1e0/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/siqirua/ip.git (master) completed! +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/hjoneweek/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [7/479] Analyzing https://github.com/butteredyakiimo/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hjoneweek/ip.git to complete... +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/butteredyakiimo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/butteredyakiimo/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hjoneweek/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jack1e0/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/NgChunMan/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dishenggg/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dishenggg/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/limjunxian1/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dishenggg/ip.git... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zhyuhan/ip.git... -Aug 28, 2023 1:54:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/siqirua/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zhyuhan/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/siqirua/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hjoneweek/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/siqirua/ip.git (master) completed! -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator analyzeRepos -INFO: [7/479] Analyzing https://github.com/yuxunn/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jack1e0/ip.git completed! +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dishenggg/ip.git to complete... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Dioclei/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Dioclei/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yuxunn/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yuxunn/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jack1e0/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/butteredyakiimo/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hjoneweek/ip.git completed! +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ph-nathan/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Daphne789/ip.git... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Daphne789/ip.git to complete... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ph-nathan/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ph-nathan/ip.git (master) completed! +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [8/479] Analyzing https://github.com/yuxunn/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/dishenggg/ip.git completed! -Aug 28, 2023 1:54:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/butteredyakiimo/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/butteredyakiimo/ip.git (master) completed! -Aug 28, 2023 1:54:52 PM reposense.report.ReportGenerator analyzeRepos -INFO: [8/479] Analyzing https://github.com/ph-nathan/ip.git (master)... -Aug 28, 2023 1:54:52 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WinstonLeonard/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/butteredyakiimo/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yuxunn/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yuxunn/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/WinstonLeonard/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ph-nathan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ph-nathan/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yuxunn/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/butteredyakiimo/ip.git (master)... +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/butteredyakiimo/ip.git (master) completed! +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/zhyuhan/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yuxunn/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yuxunn/ip.git (master) completed! -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Dioclei/ip.git completed! +Aug 28, 2023 2:13:37 PM reposense.report.ReportGenerator analyzeRepos INFO: [9/479] Analyzing https://github.com/RB9823/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/peiran18/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AriellaCallista/ip.git... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/peiran18/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Dioclei/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AriellaCallista/ip.git to complete... +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RB9823/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RB9823/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AriellaCallista/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yuxunn/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Daphne789/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AriellaCallista/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yuxunn/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yuxunn/ip.git (master) completed! +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [10/479] Analyzing https://github.com/shyanyong/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/migfoo02/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/migfoo02/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shyanyong/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shyanyong/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/WinstonLeonard/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Jonyxzx/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Jonyxzx/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ph-nathan/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/peiran18/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ph-nathan/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ph-nathan/ip.git (master) completed! -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepos -INFO: [10/479] Analyzing https://github.com/TyrusLye/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/SynapseProgramming/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SynapseProgramming/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TyrusLye/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TyrusLye/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/migfoo02/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RB9823/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AriellaCallista/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SynapseProgramming/ip.git to complete... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Darren159/ip.git... -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RB9823/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/migfoo02/ip.git completed! +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Darren159/ip.git to complete... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/imkwokyong/ip.git... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/imkwokyong/ip.git to complete... +Aug 28, 2023 2:13:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RB9823/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RB9823/ip.git (master) completed! -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [11/479] Analyzing https://github.com/cxo05/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Darren159/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/imkwokyong/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shyanyong/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shyanyong/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shyanyong/ip.git (master) completed! +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cxo05/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cxo05/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/imkwokyong/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [12/479] Analyzing https://github.com/TyrusLye/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TyrusLye/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TyrusLye/ip.git (master)... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Jonyxzx/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/joeng03/ip.git... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/joeng03/ip.git to complete... -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TyrusLye/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SynapseProgramming/ip.git completed! -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/vijay-shankaranand/ip.git... -Aug 28, 2023 1:54:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TyrusLye/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TyrusLye/ip.git (master) completed! -Aug 28, 2023 1:54:53 PM reposense.report.ReportGenerator analyzeRepos -INFO: [12/479] Analyzing https://github.com/shyanyong/ip.git (master)... -Aug 28, 2023 1:54:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/vijay-shankaranand/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Darren159/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shyanyong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shyanyong/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/joeng03/ip.git... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/vijay-shankaranand/ip.git... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/SelwynAng/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SelwynAng/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/imkwokyong/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/vijay-shankaranand/ip.git to complete... +Aug 28, 2023 2:13:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/joeng03/ip.git to complete... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jeffrey-jian/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jeffrey-jian/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TyrusLye/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TyrusLye/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TyrusLye/ip.git (master) completed! +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [13/479] Analyzing https://github.com/howenc/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/joeng03/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/howenc/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/howenc/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanyyyming/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanyyyming/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/vijay-shankaranand/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanyyyming/ip.git to complete... +Aug 28, 2023 2:13:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cxo05/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/JCSnap/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JCSnap/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shyanyong/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SelwynAng/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AprupKale/ip.git... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shyanyong/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shyanyong/ip.git (master) completed! -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [13/479] Analyzing https://github.com/howenc/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AprupKale/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cxo05/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/howenc/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/howenc/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JCSnap/ip.git to complete... +Aug 28, 2023 2:13:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cxo05/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AprupKale/ip.git... +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cxo05/ip.git (master) completed! -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [14/479] Analyzing https://github.com/Kurtyjlee/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kurtyjlee/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kurtyjlee/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [14/479] Analyzing https://github.com/josepholim/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AprupKale/ip.git to complete... +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/josepholim/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/josepholim/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jeffrey-jian/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/woojiahao/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/howenc/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/woojiahao/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanyyyming/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/howenc/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/howenc/ip.git (master) completed! +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [15/479] Analyzing https://github.com/Kurtyjlee/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kurtyjlee/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kurtyjlee/ip.git (master)... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/JCSnap/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/PetrichorPrecipice/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AprupKale/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/PetrichorPrecipice/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AprupKale/ip.git completed! +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanyyyming/ip.git completed! +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/syamfarh/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/D-Limiter/ip.git... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/howenc/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/syamfarh/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/D-Limiter/ip.git... +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/D-Limiter/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/howenc/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/howenc/ip.git (master) completed! -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [15/479] Analyzing https://github.com/josepholim/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/woojiahao/ip.git completed! +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/coderhuang559/ip.git... +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kurtyjlee/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/josepholim/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/josepholim/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/coderhuang559/ip.git to complete... +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kurtyjlee/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kurtyjlee/ip.git (master) completed! -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [16/479] Analyzing https://github.com/geoffong11/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/geoffong11/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/geoffong11/ip.git (master)... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/woojiahao/ip.git completed! -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/coderhuang559/ip.git... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/coderhuang559/ip.git to complete... -Aug 28, 2023 1:54:54 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/PetrichorPrecipice/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LINCHENYU2030S/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LINCHENYU2030S/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/syamfarh/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LINCHENYU2030S/ip.git... +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/geoffong11/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/geoffong11/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/pra-navi/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/D-Limiter/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/josepholim/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/pra-navi/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LINCHENYU2030S/ip.git to complete... +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/D-Limiter/ip.git completed! +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/phiphi-tan/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/phiphi-tan/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/josepholim/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/josepholim/ip.git (master) completed! +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [17/479] Analyzing https://github.com/jianrong7/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jianrong7/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jianrong7/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/coderhuang559/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ktzy0305/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/LINCHENYU2030S/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LordSaumya/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ktzy0305/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LordSaumya/ip.git... +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LordSaumya/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/pra-navi/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/phiphi-tan/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Chen1x/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yanghengtang/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Chen1x/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/phiphi-tan/ip.git completed! +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yanghengtang/ip.git... +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yanghengtang/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/geoffong11/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/josepholim/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/josepholim/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/josepholim/ip.git (master) completed! -Aug 28, 2023 1:54:55 PM reposense.report.ReportGenerator analyzeRepos -INFO: [17/479] Analyzing https://github.com/jianrong7/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/geoffong11/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/geoffong11/ip.git (master) completed! -Aug 28, 2023 1:54:55 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [18/479] Analyzing https://github.com/A1WAYSD/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jianrong7/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/A1WAYSD/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/A1WAYSD/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jianrong7/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jianrong7/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ktzy0305/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jianrong7/ip.git (master)... +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jianrong7/ip.git (master) completed! +Aug 28, 2023 2:13:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/LordSaumya/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [19/479] Analyzing https://github.com/limjunxian1/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/johnnythesnake12/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yanghengtang/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/oeggy03/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Chen1x/ip.git completed! -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/p-xp/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ktzy0305/ip.git completed! +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/limjunxian1/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/limjunxian1/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/oeggy03/ip.git... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/johnnythesnake12/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/oeggy03/ip.git to complete... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/p-xp/ip.git... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yanghengtang/ip.git completed! +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/p-xp/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/matochichap/ip.git... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/oeggy03/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/matochichap/ip.git to complete... -Aug 28, 2023 1:54:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/A1WAYSD/ip.git (master)... -Aug 28, 2023 1:54:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/A1WAYSD/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/A1WAYSD/ip.git (master) completed! -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [19/479] Analyzing https://github.com/NgChunMan/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [20/479] Analyzing https://github.com/NgChunMan/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/limjunxian1/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/NgChunMan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/NgChunMan/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jianrong7/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jianrong7/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jianrong7/ip.git (master) completed! -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [20/479] Analyzing https://github.com/limjunxian1/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/limjunxian1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/limjunxian1/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/limjunxian1/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/limjunxian1/ip.git (master) completed! +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [21/479] Analyzing https://github.com/jack1e0/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/p-xp/ip.git completed! +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/johnnythesnake12/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/applepiofmyeye/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/p-xp/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/matochichap/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/oeggy03/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jack1e0/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jack1e0/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TiwKangXu/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/applepiofmyeye/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TiwKangXu/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ScarletBlanks/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chiayunrong/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/oeggy03/ip.git completed! +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/applepiofmyeye/ip.git to complete... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/matochichap/ip.git completed! +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ScarletBlanks/ip.git... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chiayunrong/ip.git... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ScarletBlanks/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chiayunrong/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/limjunxian1/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/limjunxian1/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/limjunxian1/ip.git (master) completed! -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [21/479] Analyzing https://github.com/hjoneweek/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/NgChunMan/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/hjoneweek/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/hjoneweek/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/NgChunMan/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/NgChunMan/ip.git (master) completed! -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [22/479] Analyzing https://github.com/jack1e0/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TiwKangXu/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jack1e0/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jack1e0/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chiayunrong/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/applepiofmyeye/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/devanshubisht/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/devanshubisht/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TiwKangXu/ip.git completed! +Aug 28, 2023 2:13:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/NgChunMan/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/NgChunMan/ip.git (master) completed! +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jx124/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [22/479] Analyzing https://github.com/hjoneweek/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jx124/ip.git to complete... +Aug 28, 2023 2:13:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/hjoneweek/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/hjoneweek/ip.git (master)... +Aug 28, 2023 2:13:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chiayunrong/ip.git completed! +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Clin-lyx/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ScarletBlanks/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jx124/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Clin-lyx/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AryanG01/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Clin-lyx/ip.git to complete... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AryanG01/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jack1e0/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jack1e0/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jack1e0/ip.git (master) completed! +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [23/479] Analyzing https://github.com/dishenggg/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/hjoneweek/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/devanshubisht/ip.git completed! -Aug 28, 2023 1:54:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/hjoneweek/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/hjoneweek/ip.git (master) completed! -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [23/479] Analyzing https://github.com/dishenggg/ip.git (master)... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kayabuttertoastt/ip.git... -Aug 28, 2023 1:54:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kayabuttertoastt/ip.git to complete... -Aug 28, 2023 1:54:56 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [24/479] Analyzing https://github.com/zhyuhan/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dishenggg/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dishenggg/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Clin-lyx/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sheryew/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/devanshubisht/ip.git completed! +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kayabuttertoastt/ip.git... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jx124/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhyuhan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhyuhan/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kayabuttertoastt/ip.git to complete... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sheryew/ip.git... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AryanG01/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jonasongg/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/sheryew/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yiwen101/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jonasongg/ip.git... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Clin-lyx/ip.git completed! +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jonasongg/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yiwen101/ip.git... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yiwen101/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kayabuttertoastt/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tiongMax/ip.git... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhyuhan/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dishenggg/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tiongMax/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhyuhan/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dishenggg/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jack1e0/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dishenggg/ip.git (master) completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepos -INFO: [24/479] Analyzing https://github.com/zhyuhan/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhyuhan/ip.git (master) completed! +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [25/479] Analyzing https://github.com/Dioclei/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [26/479] Analyzing https://github.com/Daphne789/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kayabuttertoastt/ip.git completed! +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tiongMax/ip.git... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tiongMax/ip.git to complete... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/sheryew/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhyuhan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhyuhan/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jack1e0/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jack1e0/ip.git (master) completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Dioclei/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Dioclei/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chuababyy/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepos -INFO: [25/479] Analyzing https://github.com/Dioclei/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Daphne789/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Daphne789/ip.git (master)... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jonasongg/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chuababyy/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/supermii2/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yiwen101/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chuababyy/ip.git to complete... +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/supermii2/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Dioclei/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Dioclei/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/remuslum/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/remuslum/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tiongMax/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kanna-1/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kanna-1/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhyuhan/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhyuhan/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhyuhan/ip.git (master) completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepos -INFO: [26/479] Analyzing https://github.com/Daphne789/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Dioclei/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Dioclei/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Dioclei/ip.git (master) completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepos INFO: [27/479] Analyzing https://github.com/WinstonLeonard/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tiongMax/ip.git completed! +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/chuababyy/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Daphne789/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Daphne789/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/supermii2/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kanna-1/ip.git... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nicolengk/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/newway1814/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicolengk/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/remuslum/ip.git completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WinstonLeonard/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WinstonLeonard/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/glenngnng/ip.git... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kanna-1/ip.git to complete... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicolengk/ip.git to complete... +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Daphne789/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Daphne789/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Daphne789/ip.git (master) completed! +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [28/479] Analyzing https://github.com/peiran18/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/supermii2/ip.git completed! +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/remuslum/ip.git completed! +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/newway1814/ip.git... +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/peiran18/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/peiran18/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/newway1814/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/glenngnng/ip.git... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/glenngnng/ip.git to complete... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WinstonLeonard/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WinstonLeonard/ip.git (master)... -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WinstonLeonard/ip.git (master) completed! -Aug 28, 2023 1:54:57 PM reposense.report.ReportGenerator analyzeRepos -INFO: [28/479] Analyzing https://github.com/peiran18/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/peiran18/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/peiran18/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Daphne789/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Daphne789/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Daphne789/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [29/479] Analyzing https://github.com/migfoo02/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/migfoo02/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/migfoo02/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [29/479] Analyzing https://github.com/AriellaCallista/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/peiran18/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kanna-1/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zsh-eng/ip.git... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AriellaCallista/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AriellaCallista/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/peiran18/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/peiran18/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [30/479] Analyzing https://github.com/AriellaCallista/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zsh-eng/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [30/479] Analyzing https://github.com/migfoo02/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/nicolengk/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/glenngnng/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kanna-1/ip.git completed! +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/migfoo02/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/migfoo02/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zsh-eng/ip.git... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/mingyuanc/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AriellaCallista/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AriellaCallista/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LamJiuFong/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zsh-eng/ip.git to complete... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/mingyuanc/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LamJiuFong/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/newway1814/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/glenngnng/ip.git completed! +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LamJiuFong/ip.git... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/GlendaChong/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LamJiuFong/ip.git to complete... +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/GlendaChong/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AriellaCallista/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/migfoo02/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AriellaCallista/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AriellaCallista/ip.git (master) completed! +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [31/479] Analyzing https://github.com/Jonyxzx/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/migfoo02/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/migfoo02/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [31/479] Analyzing https://github.com/Jonyxzx/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [32/479] Analyzing https://github.com/SynapseProgramming/ip.git (master)... +Aug 28, 2023 2:13:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Jonyxzx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Jonyxzx/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AriellaCallista/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/zsh-eng/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mingyuanc/ip.git completed! +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/starrylight99/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/starrylight99/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AriellaCallista/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AriellaCallista/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [32/479] Analyzing https://github.com/SynapseProgramming/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SynapseProgramming/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SynapseProgramming/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/starrylight99/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AustinHuang1203/ip.git... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/GlendaChong/ip.git completed! +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AustinHuang1203/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/LamJiuFong/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Jonyxzx/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mingyuanc/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seewhyjay/ip.git... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruth-lim/ip.git... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruth-lim/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess WARNING: Exception met while trying to clone the repo "starrylight99/ip[master]", will skip this repo. reposense.system.CommandRunnerProcessException: Error returned from command git clone --bare 'https://github.com/starrylight99/ip.git' 'repos/starrylight99_ip/ip_bare' on path . : Cloning into bare repository 'repos/starrylight99_ip/ip_bare'... @@ -942,1705 +952,1675 @@ fatal: could not read Username for 'https://github.com': No such device or addre at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seewhyjay/ip.git... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Jonyxzx/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AustinHuang1203/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Jonyxzx/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruth-lim/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [33/479] Analyzing https://github.com/Darren159/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seewhyjay/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/GlendaChong/ip.git completed! -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruth-lim/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AustinHuang1203/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Darren159/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Darren159/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/limzhenwy/ip.git... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seewhyjay/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/limzhenwy/ip.git to complete... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SynapseProgramming/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Darren159/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SynapseProgramming/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SynapseProgramming/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Darren159/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Darren159/ip.git (master) completed! -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [33/479] Analyzing https://github.com/Darren159/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Jonyxzx/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Jonyxzx/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Jonyxzx/ip.git (master) completed! +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator analyzeRepos INFO: [34/479] Analyzing https://github.com/imkwokyong/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [35/479] Analyzing https://github.com/joeng03/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AustinHuang1203/ip.git completed! +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Darren159/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Darren159/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xCOLOURx/ip.git... +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/imkwokyong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/imkwokyong/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/joeng03/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/joeng03/ip.git (master)... -Aug 28, 2023 1:54:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruth-lim/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xCOLOURx/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/xCOLOURx/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/limzhenwy/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AustinHuang1203/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/seewhyjay/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zacwong2151/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zacwong2151/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruth-lim/ip.git completed! +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/limzhenwy/ip.git completed! +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Zjinnnn/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Zjinnnn/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/awhb/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Zjinnnn/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/awhb/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/joeng03/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Darren159/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Darren159/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Darren159/ip.git (master) completed! +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [35/479] Analyzing https://github.com/joeng03/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/xCOLOURx/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zacwong2151/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/joeng03/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/joeng03/ip.git (master) completed! -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepos -INFO: [36/479] Analyzing https://github.com/vijay-shankaranand/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/teoks0199/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/qz1004/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/qz1004/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/joeng03/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/joeng03/ip.git (master)... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/teoks0199/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zacwong2151/ip.git completed! +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/qz1004/ip.git... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/awhb/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/vijay-shankaranand/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/vijay-shankaranand/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/qz1004/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/pangyyen/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/pangyyen/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Zjinnnn/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/pangyyen/ip.git to complete... +Aug 28, 2023 2:13:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Mahidharah/ip.git... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/imkwokyong/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Mahidharah/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/imkwokyong/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/imkwokyong/ip.git (master) completed! -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [36/479] Analyzing https://github.com/vijay-shankaranand/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/vijay-shankaranand/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/vijay-shankaranand/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/joeng03/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/joeng03/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/joeng03/ip.git (master) completed! +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepos INFO: [37/479] Analyzing https://github.com/SelwynAng/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SelwynAng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SelwynAng/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/teoks0199/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jason-raiin/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/qz1004/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SelwynAng/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SelwynAng/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jason-raiin/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/qz1004/ip.git completed! +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ravern/ip.git... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/vijay-shankaranand/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ravern/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Mahidharah/ip.git completed! +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/pangyyen/ip.git completed! +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bobscodedump/ip.git... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nixonwidjaja/ip.git... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bobscodedump/ip.git to complete... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nixonwidjaja/ip.git to complete... +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/vijay-shankaranand/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/vijay-shankaranand/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/vijay-shankaranand/ip.git (master) completed! -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepos INFO: [38/479] Analyzing https://github.com/jeffrey-jian/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Mahidharah/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jeffrey-jian/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jeffrey-jian/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bobscodedump/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/pangyyen/ip.git completed! -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bobscodedump/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nixonwidjaja/ip.git... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nixonwidjaja/ip.git to complete... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SelwynAng/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SelwynAng/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SelwynAng/ip.git (master) completed! -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator analyzeRepos -INFO: [39/479] Analyzing https://github.com/tanyyyming/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanyyyming/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:54:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanyyyming/ip.git (master)... -Aug 28, 2023 1:54:59 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jason-raiin/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/techjay-c/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/techjay-c/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ravern/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ryanozx/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryanozx/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/bobscodedump/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryanozx/ip.git to complete... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/HEEaZ/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/HEEaZ/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SelwynAng/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/nixonwidjaja/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/dom-buri/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SelwynAng/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SelwynAng/ip.git (master) completed! +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [39/479] Analyzing https://github.com/JCSnap/ip.git (master)... +Aug 28, 2023 2:13:45 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/dom-buri/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jeffrey-jian/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jeffrey-jian/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jeffrey-jian/ip.git (master) completed! -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanyyyming/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepos -INFO: [40/479] Analyzing https://github.com/JCSnap/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tanyyyming/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanyyyming/ip.git (master) completed! -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepos -INFO: [41/479] Analyzing https://github.com/AprupKale/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:45 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JCSnap/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JCSnap/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HEEaZ/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AprupKale/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AprupKale/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryanozx/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlainS87/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/techjay-c/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlainS87/ip.git... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryanozx/ip.git completed! +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlainS87/ip.git to complete... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HEEaZ/ip.git completed! +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tiongjjyi/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tiongjjyi/ip.git to complete... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Vanessamae23/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/dom-buri/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlainS87/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JCSnap/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/fuyiqiao/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Vanessamae23/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tiongjjyi/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/fuyiqiao/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JCSnap/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JCSnap/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JCSnap/ip.git (master) completed! -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepos -INFO: [42/479] Analyzing https://github.com/woojiahao/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AprupKale/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AprupKale/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/woojiahao/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/woojiahao/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AprupKale/ip.git (master) completed! -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator analyzeRepos -INFO: [43/479] Analyzing https://github.com/PetrichorPrecipice/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/PetrichorPrecipice/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/PetrichorPrecipice/ip.git (master)... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [40/479] Analyzing https://github.com/AprupKale/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AprupKale/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AprupKale/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jeffrey-jian/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jeffrey-jian/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jeffrey-jian/ip.git (master) completed! +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [41/479] Analyzing https://github.com/tanyyyming/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanyyyming/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanyyyming/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Vanessamae23/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/spatuly/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tiongjjyi/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/spatuly/ip.git... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanshiyu1999/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/spatuly/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanshiyu1999/ip.git to complete... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/fuyiqiao/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AprupKale/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AlainS87/ip.git completed! -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/fuyiqiao/ip.git completed! +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kb-Tay/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/beatricecst/ip.git... -Aug 28, 2023 1:55:00 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanshiyu1999/ip.git to complete... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/spatuly/ip.git to complete... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Kb-Tay/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AprupKale/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AprupKale/ip.git (master) completed! +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [42/479] Analyzing https://github.com/woojiahao/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/beatricecst/ip.git... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/beatricecst/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/PetrichorPrecipice/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/PetrichorPrecipice/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/PetrichorPrecipice/ip.git (master) completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [44/479] Analyzing https://github.com/syamfarh/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/woojiahao/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/syamfarh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/syamfarh/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/woojiahao/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/woojiahao/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/woojiahao/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/spatuly/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanveersingh10/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanyyyming/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tanveersingh10/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/woojiahao/ip.git (master) completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [45/479] Analyzing https://github.com/D-Limiter/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/D-Limiter/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/D-Limiter/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tanyyyming/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanyyyming/ip.git (master) completed! +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [43/479] Analyzing https://github.com/PetrichorPrecipice/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tanshiyu1999/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/thienmy0/ip.git... +Aug 28, 2023 2:13:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/PetrichorPrecipice/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/PetrichorPrecipice/ip.git (master)... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Kb-Tay/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/beatricecst/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/thienmy0/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/s0ngyang/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/thienmy0/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ldinghan/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/s0ngyang/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ldinghan/ip.git... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/thienmy0/ip.git to complete... +Aug 28, 2023 2:13:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ldinghan/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/syamfarh/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/syamfarh/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/syamfarh/ip.git (master) completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [46/479] Analyzing https://github.com/coderhuang559/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/woojiahao/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/woojiahao/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/woojiahao/ip.git (master) completed! +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [44/479] Analyzing https://github.com/syamfarh/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tanveersingh10/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/coderhuang559/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/coderhuang559/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/feifeiraindrops/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/feifeiraindrops/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/D-Limiter/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/D-Limiter/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/D-Limiter/ip.git (master) completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [47/479] Analyzing https://github.com/LINCHENYU2030S/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LINCHENYU2030S/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LINCHENYU2030S/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/syamfarh/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/syamfarh/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/PetrichorPrecipice/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/s0ngyang/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryanongwx/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryanongwx/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/thienmy0/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/PetrichorPrecipice/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ldinghan/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/PetrichorPrecipice/ip.git (master) completed! +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryanongwx/ip.git... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [45/479] Analyzing https://github.com/D-Limiter/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kwangthiag/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/elhy1999/ip.git... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LINCHENYU2030S/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kwangthiag/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryanongwx/ip.git to complete... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/D-Limiter/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/D-Limiter/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/syamfarh/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/elhy1999/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LINCHENYU2030S/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LINCHENYU2030S/ip.git (master) completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [48/479] Analyzing https://github.com/pra-navi/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/pra-navi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/pra-navi/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/feifeiraindrops/ip.git completed! -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/coderhuang559/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/songgthu/ip.git... -Aug 28, 2023 1:55:01 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/syamfarh/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/syamfarh/ip.git (master) completed! +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [46/479] Analyzing https://github.com/coderhuang559/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/songgthu/ip.git to complete... -Aug 28, 2023 1:55:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/coderhuang559/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/coderhuang559/ip.git (master) completed! -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [49/479] Analyzing https://github.com/phiphi-tan/ip.git (master)... -Aug 28, 2023 1:55:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/phiphi-tan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/phiphi-tan/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/coderhuang559/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/coderhuang559/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ryanongwx/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/D-Limiter/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/GohTengFong/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/kwangthiag/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/simbayippy/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/GohTengFong/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/elhy1999/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/simbayippy/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/D-Limiter/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/D-Limiter/ip.git (master) completed! +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [47/479] Analyzing https://github.com/LINCHENYU2030S/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/simbayippy/ip.git... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Khaleelur-Rahman/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/simbayippy/ip.git to complete... +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/coderhuang559/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LINCHENYU2030S/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LINCHENYU2030S/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Khaleelur-Rahman/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/pra-navi/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/pra-navi/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/pra-navi/ip.git (master) completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [50/479] Analyzing https://github.com/ktzy0305/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/coderhuang559/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/coderhuang559/ip.git (master) completed! +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [48/479] Analyzing https://github.com/pra-navi/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/songgthu/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/proto-aiken-13/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/proto-aiken-13/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ktzy0305/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ktzy0305/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/phiphi-tan/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/phiphi-tan/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/phiphi-tan/ip.git (master) completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [51/479] Analyzing https://github.com/LordSaumya/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LordSaumya/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LordSaumya/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LINCHENYU2030S/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/pra-navi/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/pra-navi/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LINCHENYU2030S/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LINCHENYU2030S/ip.git (master) completed! +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [49/479] Analyzing https://github.com/phiphi-tan/ip.git (master)... +Aug 28, 2023 2:13:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/phiphi-tan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/phiphi-tan/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/GohTengFong/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/simbayippy/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/bwangpj/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/weeweh/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/bwangpj/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/weeweh/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ktzy0305/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ktzy0305/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ktzy0305/ip.git (master) completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [52/479] Analyzing https://github.com/yanghengtang/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Khaleelur-Rahman/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/weeweh/ip.git... +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/pra-navi/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/weeweh/ip.git to complete... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/simbayippy/ip.git completed! +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/pra-navi/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/pra-navi/ip.git (master) completed! +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [50/479] Analyzing https://github.com/LordSaumya/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/s-peiran/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yanghengtang/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yanghengtang/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LordSaumya/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/proto-aiken-13/ip.git completed! +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/s-peiran/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/phiphi-tan/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jylow/ip.git... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jylow/ip.git to complete... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LordSaumya/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LordSaumya/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/phiphi-tan/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/phiphi-tan/ip.git (master) completed! +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [51/479] Analyzing https://github.com/ktzy0305/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ktzy0305/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ktzy0305/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/weeweh/ip.git completed! +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LordSaumya/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lawruixi/ip.git... +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LordSaumya/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LordSaumya/ip.git (master) completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [53/479] Analyzing https://github.com/Chen1x/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/proto-aiken-13/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [52/479] Analyzing https://github.com/Chen1x/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lawruixi/ip.git to complete... +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ktzy0305/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s-peiran/ip.git completed! +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JeremyYong128/ip.git... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chen1x/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chen1x/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jylow/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jylow/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ktzy0305/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ktzy0305/ip.git (master) completed! +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/bwangpj/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [53/479] Analyzing https://github.com/yanghengtang/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JeremyYong128/ip.git to complete... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jylow/ip.git completed! +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brandon-nam/ip.git... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LHeng1/ip.git... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brandon-nam/ip.git to complete... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yanghengtang/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yanghengtang/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LHeng1/ip.git to complete... +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chen1x/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lawruixi/ip.git... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chen1x/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lawruixi/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chen1x/ip.git (master) completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [54/479] Analyzing https://github.com/johnnythesnake12/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/johnnythesnake12/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/johnnythesnake12/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [54/479] Analyzing https://github.com/p-xp/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/p-xp/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/p-xp/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yanghengtang/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yanghengtang/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yanghengtang/ip.git (master) completed! -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [55/479] Analyzing https://github.com/p-xp/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/p-xp/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/p-xp/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jylow/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JeremyYong128/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s-peiran/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JeremyYong128/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/johnnythesnake12/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brandon-nam/ip.git... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brandon-nam/ip.git to complete... -Aug 28, 2023 1:55:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/weeweh/ip.git completed! -Aug 28, 2023 1:55:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/johnnythesnake12/ip.git (master)... -Aug 28, 2023 1:55:02 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/johnnythesnake12/ip.git (master) completed! -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [56/479] Analyzing https://github.com/matochichap/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LHeng1/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lawruixi/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [55/479] Analyzing https://github.com/johnnythesnake12/ip.git (master)... +Aug 28, 2023 2:13:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/johnnythesnake12/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/johnnythesnake12/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LHeng1/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/p-xp/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Leb14/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LHeng1/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/matochichap/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/matochichap/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JeremyYong128/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Leb14/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/p-xp/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/B-enguin/ip.git... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brandon-nam/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/p-xp/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/p-xp/ip.git (master) completed! -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [56/479] Analyzing https://github.com/matochichap/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/B-enguin/ip.git to complete... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/s-kybound/ip.git... +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/johnnythesnake12/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/s-kybound/ip.git to complete... +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/matochichap/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/matochichap/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/johnnythesnake12/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/johnnythesnake12/ip.git (master) completed! +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepos INFO: [57/479] Analyzing https://github.com/oeggy03/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/oeggy03/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/oeggy03/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/oeggy03/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/oeggy03/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/oeggy03/ip.git (master) completed! -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [58/479] Analyzing https://github.com/TiwKangXu/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LHeng1/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JeremyYong128/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/B-enguin/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TiwKangXu/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TiwKangXu/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/s-kybound/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/B-enguin/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/s-kybound/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [58/479] Analyzing https://github.com/applepiofmyeye/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/applepiofmyeye/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/applepiofmyeye/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s-kybound/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Leb14/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/wesho1107/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wesho1107/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brandon-nam/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/B-enguin/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yihfei/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yihfei/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AaronJT1/ip.git... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wesho1107/ip.git to complete... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AaronJT1/ip.git to complete... +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/applepiofmyeye/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/applepiofmyeye/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/applepiofmyeye/ip.git (master) completed! +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [59/479] Analyzing https://github.com/TiwKangXu/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TiwKangXu/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TiwKangXu/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/matochichap/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/matochichap/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/matochichap/ip.git (master) completed! -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [59/479] Analyzing https://github.com/chiayunrong/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chiayunrong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chiayunrong/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s-kybound/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/B-enguin/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AaronJT1/ip.git... -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TiwKangXu/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AaronJT1/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wesho1107/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yihfei/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [60/479] Analyzing https://github.com/chiayunrong/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/dlathyun/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wesho1107/ip.git completed! -Aug 28, 2023 1:55:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TiwKangXu/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TiwKangXu/ip.git (master) completed! -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [60/479] Analyzing https://github.com/applepiofmyeye/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ricketytoc/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AaronJT1/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/dlathyun/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chiayunrong/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chiayunrong/ip.git (master)... +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Angelyxx/ip.git... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Angelyxx/ip.git to complete... -Aug 28, 2023 1:55:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/applepiofmyeye/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/applepiofmyeye/ip.git (master)... -Aug 28, 2023 1:55:03 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ricketytoc/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/applepiofmyeye/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/applepiofmyeye/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/applepiofmyeye/ip.git (master) completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [61/479] Analyzing https://github.com/ScarletBlanks/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AaronJT1/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lawruixi/ip.git completed! +Aug 28, 2023 2:13:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Angelyxx/ip.git to complete... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jingting1412/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ScarletBlanks/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ScarletBlanks/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jingting1412/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Angelyxx/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ricketytoc/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SinhaVedant/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TiwKangXu/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/dlathyun/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TiwKangXu/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SinhaVedant/ip.git... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Angelyxx/ip.git completed! +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TiwKangXu/ip.git (master) completed! +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [61/479] Analyzing https://github.com/ScarletBlanks/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SinhaVedant/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ricketytoc/ip.git completed! +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/freddychenyouren2/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jordankanghm/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/freddychenyouren2/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jordankanghm/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ScarletBlanks/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ScarletBlanks/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/freddychenyouren2/ip.git to complete... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingting1412/ip.git completed! +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/adhigop13/ip.git... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/adhigop13/ip.git to complete... +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chiayunrong/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chiayunrong/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chiayunrong/ip.git (master) completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [62/479] Analyzing https://github.com/devanshubisht/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/devanshubisht/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/devanshubisht/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ScarletBlanks/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [62/479] Analyzing https://github.com/devanshubisht/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/freddychenyouren2/ip.git completed! +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ScarletBlanks/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ScarletBlanks/ip.git (master) completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [63/479] Analyzing https://github.com/Clin-lyx/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [63/479] Analyzing https://github.com/jx124/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SinhaVedant/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Clin-lyx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Clin-lyx/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/devanshubisht/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/adhigop13/ip.git... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/devanshubisht/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/devanshubisht/ip.git (master) completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [64/479] Analyzing https://github.com/jx124/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/adhigop13/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/freddychenyouren2/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jordankanghm/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/waseemingly/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jx124/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jx124/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/raydenlim/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/waseemingly/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/raydenlim/ip.git... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jordankanghm/ip.git completed! +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/devanshubisht/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/devanshubisht/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/raydenlim/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Clin-lyx/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Clin-lyx/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Clin-lyx/ip.git (master) completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [65/479] Analyzing https://github.com/AryanG01/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jingyu987/ip.git... +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jx124/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jx124/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jingyu987/ip.git to complete... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/adhigop13/ip.git completed! +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/FerdiHS/ip.git... +Aug 28, 2023 2:13:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/FerdiHS/ip.git to complete... +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/devanshubisht/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jx124/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/devanshubisht/ip.git (master)... +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/devanshubisht/ip.git (master) completed! +Aug 28, 2023 2:13:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [64/479] Analyzing https://github.com/AryanG01/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jx124/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jx124/ip.git (master) completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [66/479] Analyzing https://github.com/kayabuttertoastt/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [65/479] Analyzing https://github.com/Clin-lyx/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AryanG01/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AryanG01/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/adhigop13/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kayabuttertoastt/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kayabuttertoastt/ip.git (master)... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jingyu987/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jingyu987/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/waseemingly/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Clin-lyx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Clin-lyx/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/raydenlim/ip.git completed! -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/FerdiHS/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jrchoo/ip.git... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/FerdiHS/ip.git to complete... -Aug 28, 2023 1:55:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jrchoo/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kayabuttertoastt/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kayabuttertoastt/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kayabuttertoastt/ip.git (master) completed! -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [67/479] Analyzing https://github.com/sheryew/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AryanG01/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sheryew/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sheryew/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AryanG01/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AryanG01/ip.git (master) completed! -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [68/479] Analyzing https://github.com/jonasongg/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jonasongg/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jonasongg/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingyu987/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/RiyaMehta2211/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jrchoo/ip.git to complete... +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RiyaMehta2211/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jrchoo/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingyu987/ip.git completed! +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/FerdiHS/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/leezhanpeng/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/juzzztinsoong/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/leezhanpeng/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/juzzztinsoong/ip.git... +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/juzzztinsoong/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sheryew/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jonasongg/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sheryew/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sheryew/ip.git (master) completed! -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [69/479] Analyzing https://github.com/yiwen101/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jonasongg/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jonasongg/ip.git (master) completed! -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [70/479] Analyzing https://github.com/tiongMax/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yiwen101/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yiwen101/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tiongMax/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tiongMax/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AryanG01/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AryanG01/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AryanG01/ip.git (master) completed! +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [66/479] Analyzing https://github.com/kayabuttertoastt/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Clin-lyx/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Clin-lyx/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Clin-lyx/ip.git (master) completed! +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [67/479] Analyzing https://github.com/sheryew/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kayabuttertoastt/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kayabuttertoastt/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sheryew/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sheryew/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/RiyaMehta2211/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jrchoo/ip.git completed! +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/darrentfy/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingting1412/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/redtailedfox/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/darrentfy/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/redtailedfox/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/darrentfy/ip.git to complete... +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/leezhanpeng/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/juzzztinsoong/ip.git completed! +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Fallman2/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Fallman2/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/juzzztinsoong/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Heran9/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Heran9/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiongMax/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tiongMax/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tiongMax/ip.git (master) completed! -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [71/479] Analyzing https://github.com/supermii2/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yiwen101/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kayabuttertoastt/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kayabuttertoastt/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kayabuttertoastt/ip.git (master) completed! +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [68/479] Analyzing https://github.com/jonasongg/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sheryew/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jonasongg/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jonasongg/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sheryew/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sheryew/ip.git (master) completed! +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [69/479] Analyzing https://github.com/yiwen101/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yiwen101/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yiwen101/ip.git (master)... +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/darrentfy/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/VN-Hao/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/supermii2/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/supermii2/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yiwen101/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yiwen101/ip.git (master) completed! -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [72/479] Analyzing https://github.com/chuababyy/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/redtailedfox/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/VN-Hao/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/redtailedfox/ip.git completed! +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jingjie88/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jingjie88/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chuababyy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chuababyy/ip.git (master)... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Fallman2/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/H1410101/ip.git... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/H1410101/ip.git to complete... -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Heran9/ip.git completed! -Aug 28, 2023 1:55:05 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kimshitong/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/H1410101/ip.git to complete... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kimshitong/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jonasongg/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jonasongg/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jonasongg/ip.git (master) completed! +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [70/479] Analyzing https://github.com/tiongMax/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tiongMax/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tiongMax/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/VN-Hao/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ivanleekk/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ivanleekk/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/chuababyy/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/chuababyy/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/chuababyy/ip.git (master) completed! -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepos -INFO: [73/479] Analyzing https://github.com/remuslum/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jingjie88/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/H1410101/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lamchenghou/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ivanleekk/ip.git to complete... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lamchenghou/ip.git to complete... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/H1410101/ip.git completed! +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tayruxin/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/remuslum/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/remuslum/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tayruxin/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lamchenghou/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/kimshitong/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/raynertjx/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/raynertjx/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yiwen101/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiongMax/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tiongMax/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tiongMax/ip.git (master) completed! +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [71/479] Analyzing https://github.com/chuababyy/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yiwen101/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yiwen101/ip.git (master) completed! +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [72/479] Analyzing https://github.com/supermii2/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chuababyy/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chuababyy/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/supermii2/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/supermii2/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ivanleekk/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/supermii2/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zhengyup/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zhengyup/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/supermii2/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/supermii2/ip.git (master) completed! -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepos -INFO: [74/479] Analyzing https://github.com/kanna-1/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kanna-1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kanna-1/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/remuslum/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tayruxin/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/larrywang0701/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/larrywang0701/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lamchenghou/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/remuslum/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/remuslum/ip.git (master) completed! -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepos -INFO: [75/479] Analyzing https://github.com/nicolengk/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Carlintyj/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Carlintyj/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/raynertjx/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Carlintyj/ip.git... +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/chuababyy/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/wxwern/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nicolengk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nicolengk/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Carlintyj/ip.git to complete... +Aug 28, 2023 2:13:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/chuababyy/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/chuababyy/ip.git (master) completed! +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [73/479] Analyzing https://github.com/remuslum/ip.git (master)... +Aug 28, 2023 2:13:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/wxwern/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/remuslum/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/remuslum/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/zhengyup/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nubnubyas/ip.git... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/supermii2/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nubnubyas/ip.git to complete... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kanna-1/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kanna-1/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kanna-1/ip.git (master) completed! -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepos -INFO: [76/479] Analyzing https://github.com/glenngnng/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/glenngnng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/glenngnng/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicolengk/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/remuslum/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/supermii2/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/supermii2/ip.git (master) completed! +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [74/479] Analyzing https://github.com/nicolengk/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/remuslum/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/remuslum/ip.git (master) completed! +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [75/479] Analyzing https://github.com/kanna-1/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Carlintyj/ip.git completed! +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/larrywang0701/ip.git completed! -Aug 28, 2023 1:55:06 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/aslam341/ip.git... -Aug 28, 2023 1:55:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nicolengk/ip.git (master)... -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nicolengk/ip.git (master) completed! -Aug 28, 2023 1:55:06 PM reposense.report.ReportGenerator analyzeRepos -INFO: [77/479] Analyzing https://github.com/newway1814/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Carlintyj/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aslam341/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kanna-1/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kanna-1/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nicolengk/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nicolengk/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LWZ19/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aslam341/ip.git to complete... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/wxwern/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LWZ19/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/newway1814/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/newway1814/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/timleow/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/timleow/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicolengk/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/nubnubyas/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nicolengk/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nicolengk/ip.git (master) completed! +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/rayshawntan/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [76/479] Analyzing https://github.com/newway1814/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/rayshawntan/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/glenngnng/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/glenngnng/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/glenngnng/ip.git (master) completed! -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [78/479] Analyzing https://github.com/zsh-eng/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zsh-eng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zsh-eng/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/newway1814/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/newway1814/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/newway1814/ip.git (master) completed! -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [79/479] Analyzing https://github.com/LamJiuFong/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LamJiuFong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LamJiuFong/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LWZ19/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kanna-1/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kanna-1/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kanna-1/ip.git (master) completed! +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [77/479] Analyzing https://github.com/glenngnng/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/newway1814/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/newway1814/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/glenngnng/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/glenngnng/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/aslam341/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/aexolate/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aexolate/ip.git to complete... +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LWZ19/ip.git completed! +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/timleow/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Sheeepen/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aexolate/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zsh-eng/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/shuyangk/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Sheeepen/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shuyangk/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/rayshawntan/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zsh-eng/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zsh-eng/ip.git (master) completed! -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [80/479] Analyzing https://github.com/mingyuanc/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ncmathan/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ncmathan/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mingyuanc/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mingyuanc/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aexolate/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/iyioon/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/iyioon/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/newway1814/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/newway1814/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/glenngnng/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/newway1814/ip.git (master) completed! +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [78/479] Analyzing https://github.com/zsh-eng/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zsh-eng/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zsh-eng/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/glenngnng/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/glenngnng/ip.git (master) completed! +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [79/479] Analyzing https://github.com/mingyuanc/ip.git (master)... +Aug 28, 2023 2:13:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mingyuanc/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mingyuanc/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aexolate/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Sheeepen/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/iyioon/ip.git... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kiwibang/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kiwibang/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/shuyangk/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/iyioon/ip.git to complete... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/mingyu-wan/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ncmathan/ip.git completed! -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kiwibang/ip.git to complete... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/mingyu-wan/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/mingyuanc/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ncmathan/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LuoZYi/ip.git... -Aug 28, 2023 1:55:07 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LuoZYi/ip.git to complete... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zsh-eng/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zsh-eng/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zsh-eng/ip.git (master) completed! +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [80/479] Analyzing https://github.com/GlendaChong/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/mingyuanc/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mingyuanc/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mingyuanc/ip.git (master) completed! -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [81/479] Analyzing https://github.com/GlendaChong/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LamJiuFong/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LamJiuFong/ip.git (master)... -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LamJiuFong/ip.git (master) completed! -Aug 28, 2023 1:55:07 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/GlendaChong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/GlendaChong/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [82/479] Analyzing https://github.com/ruth-lim/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruth-lim/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruth-lim/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [81/479] Analyzing https://github.com/LamJiuFong/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LamJiuFong/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LamJiuFong/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/iyioon/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/asdfghjkxd/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mingyu-wan/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/asdfghjkxd/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kiwibang/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/sushiyade/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mingyu-wan/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/sushiyade/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kiwibang/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nid21cs/ip.git... -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LuoZYi/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/GlendaChong/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nid21cs/ip.git... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/McNaBry/ip.git... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/McNaBry/ip.git to complete... +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Nid21cs/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LuoZYi/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/GlendaChong/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/GlendaChong/ip.git (master) completed! -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [83/479] Analyzing https://github.com/limzhenwy/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/McNaBry/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/McNaBry/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/limzhenwy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/limzhenwy/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruth-lim/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruth-lim/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruth-lim/ip.git (master) completed! -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [84/479] Analyzing https://github.com/AustinHuang1203/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/limzhenwy/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [82/479] Analyzing https://github.com/AustinHuang1203/ip.git (master)... +Aug 28, 2023 2:13:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AustinHuang1203/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AustinHuang1203/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/asdfghjkxd/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/limzhenwy/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/limzhenwy/ip.git (master) completed! -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [85/479] Analyzing https://github.com/seewhyjay/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/miljyy/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/miljyy/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/sushiyade/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nid21cs/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seewhyjay/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seewhyjay/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ncduy0303/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/McNaBry/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/eyelessrhyme7/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ncduy0303/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nid21cs/ip.git completed! +Aug 28, 2023 2:13:54 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/eyelessrhyme7/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/McNaBry/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LamJiuFong/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ruishanteo/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ruishanteo/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/seewhyjay/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/seewhyjay/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/seewhyjay/ip.git (master) completed! -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [86/479] Analyzing https://github.com/xCOLOURx/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/xCOLOURx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/xCOLOURx/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LamJiuFong/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LamJiuFong/ip.git (master) completed! +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [83/479] Analyzing https://github.com/seewhyjay/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seewhyjay/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seewhyjay/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AustinHuang1203/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AustinHuang1203/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/miljyy/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ncduy0303/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AustinHuang1203/ip.git (master) completed! +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [84/479] Analyzing https://github.com/ruth-lim/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/m1oojv/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/eyelessrhyme7/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/m1oojv/ip.git to complete... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruth-lim/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruth-lim/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ncduy0303/ip.git completed! +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Nixx162/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/eyelessrhyme7/ip.git completed! +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Gabriel4357/ip.git... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/m1oojv/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruishanteo/ip.git completed! -Aug 28, 2023 1:55:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AustinHuang1203/ip.git (master)... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/seewhyjay/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Nixx162/ip.git to complete... -Aug 28, 2023 1:55:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mfjkri/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruishanteo/ip.git completed! +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Gabriel4357/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/seewhyjay/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/seewhyjay/ip.git (master) completed! +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [85/479] Analyzing https://github.com/limzhenwy/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mfjkri/ip.git... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/limzhenwy/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/limzhenwy/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/mfjkri/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AustinHuang1203/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AustinHuang1203/ip.git (master) completed! -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [87/479] Analyzing https://github.com/zacwong2151/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zacwong2151/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zacwong2151/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/xCOLOURx/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/xCOLOURx/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/xCOLOURx/ip.git (master) completed! -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [88/479] Analyzing https://github.com/awhb/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/awhb/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/awhb/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/m1oojv/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nixx162/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/junhonglow/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Gabriel4357/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/limzhenwy/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/junhonglow/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruth-lim/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/limzhenwy/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/limzhenwy/ip.git (master) completed! +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [86/479] Analyzing https://github.com/xCOLOURx/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Gabriel4357/ip.git completed! +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruth-lim/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruth-lim/ip.git (master) completed! +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [87/479] Analyzing https://github.com/zacwong2151/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/RoeReRe/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nixx162/ip.git completed! +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/RoeReRe/ip.git to complete... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Badatprogrammiing/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mfjkri/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/xCOLOURx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/xCOLOURx/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zacwong2151/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zacwong2151/ip.git (master)... +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Badatprogrammiing/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/RoeReRe/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mfjkri/ip.git completed! +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nknguyenhc/ip.git... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zacwong2151/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:55 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nknguyenhc/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zacwong2151/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/junhonglow/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/winson8222/ip.git... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RoeReRe/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zacwong2151/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zacwong2151/ip.git (master) completed! -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/winson8222/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [88/479] Analyzing https://github.com/awhb/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Badatprogrammiing/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wujy28/ip.git... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SimWPEric/ip.git... +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/xCOLOURx/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wujy28/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SimWPEric/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/awhb/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/awhb/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/xCOLOURx/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/xCOLOURx/ip.git (master) completed! +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [89/479] Analyzing https://github.com/Zjinnnn/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Zjinnnn/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Zjinnnn/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nknguyenhc/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HugeNoob/ip.git... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HugeNoob/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wujy28/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/awhb/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lerxuann/ip.git... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/winson8222/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/awhb/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/awhb/ip.git (master) completed! -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [90/479] Analyzing https://github.com/teoks0199/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lerxuann/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Weiennn/ip.git... +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Zjinnnn/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Weiennn/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SimWPEric/ip.git completed! +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teoks0199/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teoks0199/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/junhonglow/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/winson8222/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/winson8222/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Badatprogrammiing/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wujy28/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RoeReRe/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nknguyenhc/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wujy28/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SimWPEric/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HugeNoob/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SimWPEric/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HugeNoob/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Zjinnnn/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Zjinnnn/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Zjinnnn/ip.git (master) completed! -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [91/479] Analyzing https://github.com/qz1004/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/maj0-0/ip.git... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/maj0-0/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/qz1004/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/qz1004/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/teoks0199/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/teoks0199/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/teoks0199/ip.git (master) completed! -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [92/479] Analyzing https://github.com/Mahidharah/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Mahidharah/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Mahidharah/ip.git (master)... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/winson8222/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lerxuann/ip.git... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wujy28/ip.git completed! -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lerxuann/ip.git to complete... -Aug 28, 2023 1:55:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Weiennn/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Weiennn/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/HugeNoob/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/maj0-0/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/maj0-0/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SimWPEric/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/qz1004/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/qyaner/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/qyaner/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/qz1004/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/qz1004/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/qz1004/ip.git (master) completed! -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [93/479] Analyzing https://github.com/pangyyen/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Mahidharah/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Mahidharah/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Mahidharah/ip.git (master) completed! -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [94/479] Analyzing https://github.com/jason-raiin/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [92/479] Analyzing https://github.com/pangyyen/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lerxuann/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/pangyyen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/pangyyen/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/teoks0199/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ruiyangzh/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ruiyangzh/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jason-raiin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jason-raiin/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/teoks0199/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/teoks0199/ip.git (master) completed! +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/pangyyen/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/pangyyen/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [93/479] Analyzing https://github.com/Mahidharah/ip.git (master)... +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Weiennn/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Bombbird2001/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Bombbird2001/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/maj0-0/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/qyaner/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/hyc17003/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hyc17003/ip.git to complete... +Aug 28, 2023 2:13:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Mahidharah/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Mahidharah/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/qyaner/ip.git completed! +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/adammangzijun/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/adammangzijun/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hyc17003/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruiyangzh/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andytoh1/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andytoh1/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/pangyyen/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jason-raiin/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jason-raiin/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jason-raiin/ip.git (master) completed! -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [95/479] Analyzing https://github.com/ravern/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Mahidharah/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bombbird2001/ip.git completed! +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/pangyyen/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/pangyyen/ip.git (master) completed! -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [96/479] Analyzing https://github.com/bobscodedump/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bobscodedump/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bobscodedump/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ravern/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ravern/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [94/479] Analyzing https://github.com/jason-raiin/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andytoh1/ip.git... +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Mahidharah/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Mahidharah/ip.git (master) completed! +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andytoh1/ip.git to complete... +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jason-raiin/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jason-raiin/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [95/479] Analyzing https://github.com/ravern/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/hyc17003/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Originalidk/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ravern/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ravern/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Originalidk/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/adammangzijun/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bombbird2001/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruiyangzh/ip.git completed! +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/quzhetao01/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/InfiBeyond/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/quzhetao01/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/adammangzijun/ip.git completed! +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/InfiBeyond/ip.git... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/InfiBeyond/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jason-raiin/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jason-raiin/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jason-raiin/ip.git (master) completed! +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [96/479] Analyzing https://github.com/bobscodedump/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/andytoh1/ip.git completed! -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/bobscodedump/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Bearypop/ip.git... -Aug 28, 2023 1:55:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bearypop/ip.git to complete... -Aug 28, 2023 1:55:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/bobscodedump/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/bobscodedump/ip.git (master) completed! -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [97/479] Analyzing https://github.com/nixonwidjaja/ip.git (master)... -Aug 28, 2023 1:55:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nixonwidjaja/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nixonwidjaja/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bobscodedump/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bobscodedump/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Originalidk/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bearypop/ip.git to complete... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/sp4ce-cowboy/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/quzhetao01/ip.git completed! +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/sp4ce-cowboy/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ravern/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/InfiBeyond/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ravern/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ravern/ip.git (master) completed! -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [98/479] Analyzing https://github.com/HEEaZ/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/JasonLCY-Temp/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/quzhetao01/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/JasonLCY-Temp/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/HEEaZ/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/HEEaZ/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/InfiBeyond/ip.git completed! +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ravern/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/wjayee/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:57 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/wjayee/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bearypop/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/vivienherq/ip.git... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nixonwidjaja/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/vivienherq/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nixonwidjaja/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nixonwidjaja/ip.git (master) completed! -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [99/479] Analyzing https://github.com/techjay-c/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sp4ce-cowboy/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jamesebond/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jamesebond/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/HEEaZ/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ravern/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ravern/ip.git (master) completed! +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [97/479] Analyzing https://github.com/nixonwidjaja/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nixonwidjaja/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nixonwidjaja/ip.git (master)... +Aug 28, 2023 2:13:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/bobscodedump/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/bobscodedump/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/bobscodedump/ip.git (master) completed! +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [98/479] Analyzing https://github.com/techjay-c/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bearypop/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/vivienherq/ip.git... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/techjay-c/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/techjay-c/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/vivienherq/ip.git to complete... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sp4ce-cowboy/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/JasonLCY-Temp/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jamesebond/ip.git... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jonyeokj/ip.git... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/HEEaZ/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/HEEaZ/ip.git (master) completed! -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [100/479] Analyzing https://github.com/ryanozx/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jamesebond/ip.git to complete... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jonyeokj/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nixonwidjaja/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nixonwidjaja/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nixonwidjaja/ip.git (master) completed! +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [99/479] Analyzing https://github.com/ryanozx/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wjayee/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ryanozx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:13:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ryanozx/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wjayee/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/techjay-c/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/victorlaiyeeteng/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/techjay-c/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/techjay-c/ip.git (master) completed! +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [100/479] Analyzing https://github.com/HEEaZ/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/victorlaiyeeteng/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/vivienherq/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lyuanww/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/HEEaZ/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/HEEaZ/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lyuanww/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/techjay-c/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/techjay-c/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/techjay-c/ip.git (master) completed! -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [101/479] Analyzing https://github.com/dom-buri/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jamesebond/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dom-buri/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dom-buri/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ryanozx/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jonyeokj/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yongning0310/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jamesebond/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yongning0310/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jonyeokj/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Cloud7050/ip.git... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cloud7050/ip.git to complete... +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ryanozx/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryanozx/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryanozx/ip.git (master) completed! -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [102/479] Analyzing https://github.com/Vanessamae23/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cloud7050/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Vanessamae23/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Vanessamae23/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/victorlaiyeeteng/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LoMaply/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lyuanww/ip.git completed! -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LoMaply/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [101/479] Analyzing https://github.com/dom-buri/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dom-buri/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dom-buri/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess WARNING: Exception met while trying to clone the repo "Cloud7050/ip[master]", will skip this repo. reposense.system.CommandRunnerProcessException: Error returned from command git clone --bare 'https://github.com/Cloud7050/ip.git' 'repos/Cloud7050_ip/ip_bare' on path . : Cloning into bare repository 'repos/Cloud7050_ip/ip_bare'... @@ -2656,1599 +2636,1745 @@ fatal: could not read Username for 'https://github.com': No such device or addre at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LoMaply/ip.git... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LoMaply/ip.git to complete... +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/HEEaZ/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/HEEaZ/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/HEEaZ/ip.git (master) completed! +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [102/479] Analyzing https://github.com/tiongjjyi/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tiongjjyi/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tiongjjyi/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/victorlaiyeeteng/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tllshan/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lyuanww/ip.git completed! +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Gavino3o/ip.git... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Gavino3o/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tllshan/ip.git to complete... -Aug 28, 2023 1:55:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dom-buri/ip.git (master)... -Aug 28, 2023 1:55:11 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Gavino3o/ip.git to complete... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yongning0310/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dom-buri/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/HollaG/ip.git... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dom-buri/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/HollaG/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dom-buri/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dom-buri/ip.git (master) completed! -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [103/479] Analyzing https://github.com/tiongjjyi/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Vanessamae23/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tiongjjyi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tiongjjyi/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Vanessamae23/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Vanessamae23/ip.git (master) completed! -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [104/479] Analyzing https://github.com/fuyiqiao/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/fuyiqiao/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/fuyiqiao/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [103/479] Analyzing https://github.com/Vanessamae23/ip.git (master)... +Aug 28, 2023 2:13:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Vanessamae23/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Vanessamae23/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiongjjyi/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tiongjjyi/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tiongjjyi/ip.git (master) completed! +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [104/479] Analyzing https://github.com/AlainS87/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/LoMaply/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/cheeggered/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Gavino3o/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AlainS87/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AlainS87/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/cheeggered/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Vanessamae23/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tllshan/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Gavino3o/ip.git completed! +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/xenosf/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Vanessamae23/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Vanessamae23/ip.git (master) completed! +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [105/479] Analyzing https://github.com/fuyiqiao/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TehOPanas/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TehOPanas/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xenosf/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/HollaG/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xenosf/ip.git to complete... +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/fuyiqiao/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/fuyiqiao/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/neyapraveen/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TehOPanas/ip.git to complete... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/neyapraveen/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiongjjyi/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tiongjjyi/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tiongjjyi/ip.git (master) completed! -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [105/479] Analyzing https://github.com/AlainS87/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/fuyiqiao/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AlainS87/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AlainS87/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/fuyiqiao/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/fuyiqiao/ip.git (master) completed! -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [106/479] Analyzing https://github.com/spatuly/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/spatuly/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/spatuly/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/cheeggered/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/richiehx/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/richiehx/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TehOPanas/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/xenosf/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/richiehx/ip.git to complete... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AlyssaPng/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AlyssaPng/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/fuyiqiao/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TehOPanas/ip.git completed! +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/leezhengjing/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/fuyiqiao/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/fuyiqiao/ip.git (master) completed! +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/neyapraveen/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [106/479] Analyzing https://github.com/spatuly/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/leezhengjing/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/seantehds/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/seantehds/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/spatuly/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/spatuly/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/spatuly/ip.git (master) completed! -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [107/479] Analyzing https://github.com/tanshiyu1999/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlainS87/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanshiyu1999/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanshiyu1999/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/spatuly/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/spatuly/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlainS87/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlainS87/ip.git (master) completed! -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [108/479] Analyzing https://github.com/Kb-Tay/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kb-Tay/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kb-Tay/ip.git (master)... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlyssaPng/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ceilingFan456/ip.git... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [107/479] Analyzing https://github.com/tanshiyu1999/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanshiyu1999/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:13:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanshiyu1999/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/richiehx/ip.git completed! -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ceilingFan456/ip.git... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlyssaPng/ip.git completed! +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/spatuly/ip.git (master)... +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ceilingFan456/ip.git to complete... -Aug 28, 2023 1:55:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lihongguang00/ip.git... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:13:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanshiyu1999/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seantehds/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:13:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lihongguang00/ip.git... +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/spatuly/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/spatuly/ip.git (master) completed! +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [108/479] Analyzing https://github.com/beatricecst/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lihongguang00/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/leezhengjing/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Singa-pirate/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Singa-pirate/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanshiyu1999/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanshiyu1999/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [109/479] Analyzing https://github.com/beatricecst/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/songfangyl/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/songfangyl/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [109/479] Analyzing https://github.com/Kb-Tay/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Singa-pirate/ip.git... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Singa-pirate/ip.git to complete... +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kb-Tay/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kb-Tay/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seantehds/ip.git completed! +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/beatricecst/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/beatricecst/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Kb-Tay/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Kb-Tay/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Kb-Tay/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [110/479] Analyzing https://github.com/tanveersingh10/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/songfangyl/ip.git... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/songfangyl/ip.git to complete... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ceilingFan456/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanveersingh10/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanveersingh10/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/beatricecst/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/vansh284/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/vansh284/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/beatricecst/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Singa-pirate/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/beatricecst/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/beatricecst/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Kb-Tay/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [110/479] Analyzing https://github.com/tanveersingh10/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lihongguang00/ip.git completed! +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanveersingh10/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanveersingh10/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Kb-Tay/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Kb-Tay/ip.git (master) completed! +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepos INFO: [111/479] Analyzing https://github.com/s0ngyang/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/YeoBohShin/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/YeoBohShin/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/songfangyl/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/s0ngyang/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/s0ngyang/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Singa-pirate/ip.git completed! +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/shuenj/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lihongguang00/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/songfangyl/ip.git completed! +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lunaroddity/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shuenj/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lunaroddity/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vansh284/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanveersingh10/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andrechuakj/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andrechuakj/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vansh284/ip.git completed! +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanveersingh10/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andrechuakj/ip.git... +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanveersingh10/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [112/479] Analyzing https://github.com/ldinghan/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ldinghan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ldinghan/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/s0ngyang/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/s0ngyang/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/s0ngyang/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [113/479] Analyzing https://github.com/thienmy0/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [112/479] Analyzing https://github.com/thienmy0/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/YeoBohShin/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andrechuakj/ip.git to complete... +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/s0ngyang/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WeeMingQing/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WeeMingQing/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/thienmy0/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/thienmy0/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WeeMingQing/ip.git to complete... +Aug 28, 2023 2:14:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/s0ngyang/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/s0ngyang/ip.git (master) completed! +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [113/479] Analyzing https://github.com/ldinghan/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lunaroddity/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shuenj/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/aliciamichellew/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/aliciamichellew/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shuenj/ip.git completed! +Aug 28, 2023 2:14:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ldinghan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ldinghan/ip.git (master)... +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/samuelmui8/ip.git... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ldinghan/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:00 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/samuelmui8/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ldinghan/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ldinghan/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andrechuakj/ip.git completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [114/479] Analyzing https://github.com/feifeiraindrops/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/antonTan96/ip.git... -Aug 28, 2023 1:55:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/antonTan96/ip.git to complete... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/feifeiraindrops/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/feifeiraindrops/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/thienmy0/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/thienmy0/ip.git (master)... -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/thienmy0/ip.git (master) completed! -Aug 28, 2023 1:55:13 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [114/479] Analyzing https://github.com/feifeiraindrops/ip.git (master)... +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/feifeiraindrops/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/feifeiraindrops/ip.git (master)... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andrechuakj/ip.git completed! +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/antonTan96/ip.git... +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ldinghan/ip.git (master)... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/antonTan96/ip.git to complete... +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ldinghan/ip.git (master)... +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ldinghan/ip.git (master) completed! +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [115/479] Analyzing https://github.com/ryanongwx/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/WeeMingQing/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/owenyeo/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aliciamichellew/ip.git completed! +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/owenyeo/ip.git to complete... +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ryanongwx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ryanongwx/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/owenyeo/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/gongg21/ip.git... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/samuelmui8/ip.git completed! +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/gongg21/ip.git to complete... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nabonitasen/ip.git... +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/feifeiraindrops/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aliciamichellew/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nabonitasen/ip.git to complete... +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/feifeiraindrops/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/feifeiraindrops/ip.git (master) completed! -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [116/479] Analyzing https://github.com/kwangthiag/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/gongg21/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/samuelmui8/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/gongg21/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kwangthiag/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kwangthiag/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nabonitasen/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/antonTan96/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nabonitasen/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/erohsikivar/ip.git... -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ryanongwx/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/erohsikivar/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryanongwx/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryanongwx/ip.git (master) completed! -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [117/479] Analyzing https://github.com/elhy1999/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/owenyeo/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/pzl111/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/antonTan96/ip.git completed! +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/elhy1999/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/elhy1999/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/owenyeo/ip.git completed! +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/erohsikivar/ip.git... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/erohsikivar/ip.git to complete... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/pzl111/ip.git... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/pzl111/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kwangthiag/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/gongg21/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/teozern1/ip.git... +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nabonitasen/ip.git completed! +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/teozern1/ip.git to complete... +Aug 28, 2023 2:14:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kwangthiag/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kwangthiag/ip.git (master) completed! -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [118/479] Analyzing https://github.com/songgthu/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/teozern1/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/teozern1/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nabonitasen/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/songgthu/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/songgthu/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Elijah5399/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Elijah5399/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/songgthu/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/songgthu/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/elhy1999/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/erohsikivar/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/elhy1999/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/elhy1999/ip.git (master) completed! +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [119/479] Analyzing https://github.com/GohTengFong/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nicleongyj/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nicleongyj/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/elhy1999/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/pzl111/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/GohTengFong/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/GohTengFong/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WinSheng1/ip.git... -Aug 28, 2023 1:55:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/elhy1999/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/elhy1999/ip.git (master) completed! -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [119/479] Analyzing https://github.com/GohTengFong/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/WinSheng1/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Elijah5399/ip.git completed! +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/teozern1/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ryamgoh/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/GohTengFong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/GohTengFong/ip.git (master)... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Elijah5399/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryamgoh/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yucongkoo/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryamgoh/ip.git to complete... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yucongkoo/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicleongyj/ip.git completed! -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chen-Kuei/ip.git... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chen-Kuei/ip.git to complete... -Aug 28, 2023 1:55:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WinSheng1/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/conradsoon/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/conradsoon/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/GohTengFong/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/songgthu/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/GohTengFong/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/GohTengFong/ip.git (master) completed! -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [120/479] Analyzing https://github.com/simbayippy/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryamgoh/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/GSgiansen/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/GSgiansen/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [120/479] Analyzing https://github.com/Khaleelur-Rahman/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/songgthu/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/songgthu/ip.git (master) completed! +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [121/479] Analyzing https://github.com/simbayippy/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Khaleelur-Rahman/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Khaleelur-Rahman/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/simbayippy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/simbayippy/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/songgthu/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicleongyj/ip.git completed! +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WinSheng1/ip.git completed! +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryamgoh/ip.git completed! +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chen-Kuei/ip.git... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/conradsoon/ip.git... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/conradsoon/ip.git to complete... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yucongkoo/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/songgthu/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/songgthu/ip.git (master) completed! -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [121/479] Analyzing https://github.com/Khaleelur-Rahman/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/GSgiansen/ip.git... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chen-Kuei/ip.git to complete... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/et-irl/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/GSgiansen/ip.git to complete... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/et-irl/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Khaleelur-Rahman/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Khaleelur-Rahman/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chen-Kuei/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Khaleelur-Rahman/ip.git (master) completed! +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [122/479] Analyzing https://github.com/proto-aiken-13/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/proto-aiken-13/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/proto-aiken-13/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/simbayippy/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/simbayippy/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/simbayippy/ip.git (master) completed! +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [123/479] Analyzing https://github.com/weeweh/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/weeweh/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/weeweh/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/proto-aiken-13/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/proto-aiken-13/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/proto-aiken-13/ip.git (master) completed! +Aug 28, 2023 2:14:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [124/479] Analyzing https://github.com/s-peiran/ip.git (master)... +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/conradsoon/ip.git completed! +Aug 28, 2023 2:14:02 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/marioalvaro/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/s-peiran/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/s-peiran/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/marioalvaro/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/conradsoon/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Seonlo99/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Seonlo99/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/et-irl/ip.git completed! +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/GSgiansen/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chen-Kuei/ip.git completed! +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Seonlo99/ip.git... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/joel-foo/ip.git... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/simbayippy/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Seonlo99/ip.git to complete... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/joel-foo/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/simbayippy/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/simbayippy/ip.git (master) completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/et-irl/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [122/479] Analyzing https://github.com/proto-aiken-13/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tim-pipi/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/proto-aiken-13/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/proto-aiken-13/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tim-pipi/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/weeweh/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/s-peiran/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/weeweh/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/weeweh/ip.git (master) completed! +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [125/479] Analyzing https://github.com/bwangpj/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/s-peiran/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/s-peiran/ip.git (master) completed! +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [126/479] Analyzing https://github.com/jylow/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jylow/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jylow/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bwangpj/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bwangpj/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/marioalvaro/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/marcellaantania/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Khaleelur-Rahman/ip.git (master) completed! -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [123/479] Analyzing https://github.com/bwangpj/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/marcellaantania/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bwangpj/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bwangpj/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Seonlo99/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brendanneojw/ip.git... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/proto-aiken-13/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brendanneojw/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/proto-aiken-13/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/proto-aiken-13/ip.git (master) completed! -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [124/479] Analyzing https://github.com/jylow/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/joel-foo/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brendanneojw/ip.git... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/li-rongzhi/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/li-rongzhi/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brendanneojw/ip.git to complete... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tim-pipi/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/KamiliArsyad/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jylow/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jylow/ip.git (master)... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/KamiliArsyad/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marcellaantania/ip.git completed! -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seraphimstreets/ip.git... -Aug 28, 2023 1:55:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seraphimstreets/ip.git to complete... -Aug 28, 2023 1:55:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jylow/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jylow/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jylow/ip.git (master) completed! +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [127/479] Analyzing https://github.com/LHeng1/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LHeng1/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LHeng1/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/bwangpj/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marcellaantania/ip.git completed! +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/bwangpj/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seraphimstreets/ip.git... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/bwangpj/ip.git (master) completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [125/479] Analyzing https://github.com/s-peiran/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [128/479] Analyzing https://github.com/JeremyYong128/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seraphimstreets/ip.git to complete... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JeremyYong128/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JeremyYong128/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/brendanneojw/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KamiliArsyad/ip.git completed! +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/trgao/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/s-peiran/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/s-peiran/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/trgao/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/li-rongzhi/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jylow/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/trgao/ip.git to complete... +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lilozz2/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lilozz2/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KamiliArsyad/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jylow/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jylow/ip.git (master) completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [126/479] Analyzing https://github.com/weeweh/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jean-cq/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jean-cq/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lilozz2/ip.git to complete... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LHeng1/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LHeng1/ip.git (master)... +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LHeng1/ip.git (master) completed! +Aug 28, 2023 2:14:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [129/479] Analyzing https://github.com/brandon-nam/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/brandon-nam/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/brandon-nam/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JeremyYong128/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JeremyYong128/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JeremyYong128/ip.git (master) completed! +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [130/479] Analyzing https://github.com/s-kybound/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/s-kybound/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/s-kybound/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/brandon-nam/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/brandon-nam/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/brandon-nam/ip.git (master) completed! +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [131/479] Analyzing https://github.com/Leb14/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/seraphimstreets/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/weeweh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/weeweh/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jedkohjk/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jedkohjk/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/s-peiran/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/s-peiran/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/s-peiran/ip.git (master) completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [127/479] Analyzing https://github.com/lawruixi/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lawruixi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lawruixi/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Leb14/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Leb14/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lilozz2/ip.git completed! +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/trgao/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yytan25/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lilozz2/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yytan25/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ryantzr1/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ryantzr1/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jedkohjk/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/s-kybound/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/s-kybound/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/s-kybound/ip.git (master) completed! +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [132/479] Analyzing https://github.com/B-enguin/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jean-cq/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/maypfv/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TohLiYuan/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TohLiYuan/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/B-enguin/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/B-enguin/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/maypfv/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/weeweh/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/weeweh/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/weeweh/ip.git (master) completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [128/479] Analyzing https://github.com/LHeng1/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LHeng1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LHeng1/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Leb14/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yytan25/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Leb14/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Leb14/ip.git (master) completed! +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jedkohjk/ip.git completed! +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [133/479] Analyzing https://github.com/wesho1107/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TohLiYuan/ip.git... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/JizhuoChen/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/JizhuoChen/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TohLiYuan/ip.git to complete... +Aug 28, 2023 2:14:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wesho1107/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wesho1107/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ryantzr1/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LHeng1/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ChongWeiJie29/ip.git... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ChongWeiJie29/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/maypfv/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Goh-Li-Ting/ip.git... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LHeng1/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LHeng1/ip.git (master) completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [129/479] Analyzing https://github.com/JeremyYong128/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TohLiYuan/ip.git completed! -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Goh-Li-Ting/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TohLiYuan/ip.git completed! +Aug 28, 2023 2:14:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wesho1107/ip.git (master)... +Aug 28, 2023 2:14:04 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kristayeo/ip.git... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lawruixi/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kristayeo/ip.git to complete... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JeremyYong128/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JeremyYong128/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lawruixi/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lawruixi/ip.git (master) completed! -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [130/479] Analyzing https://github.com/Leb14/ip.git (master)... -Aug 28, 2023 1:55:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Leb14/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Leb14/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/JizhuoChen/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wesho1107/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wesho1107/ip.git (master) completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [134/479] Analyzing https://github.com/yihfei/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/derekjxtan/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChongWeiJie29/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/derekjxtan/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JeremyYong128/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Goh-Li-Ting/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChongWeiJie29/ip.git completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yihfei/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yihfei/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/shashahchk/ip.git... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JeremyYong128/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JeremyYong128/ip.git (master) completed! -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [131/479] Analyzing https://github.com/brandon-nam/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kristayeo/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chandan8186/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alyssaongyx/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shashahchk/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/B-enguin/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/B-enguin/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/B-enguin/ip.git (master) completed! +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Goh-Li-Ting/ip.git completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [135/479] Analyzing https://github.com/AaronJT1/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chandan8186/ip.git... +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yihfei/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Chandan8186/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/brandon-nam/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/brandon-nam/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kristayeo/ip.git completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AaronJT1/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AaronJT1/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alyssaongyx/ip.git... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/alyssaongyx/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Leb14/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Leb14/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Leb14/ip.git (master) completed! -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [132/479] Analyzing https://github.com/s-kybound/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/s-kybound/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/s-kybound/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/derekjxtan/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yihfei/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yihfei/ip.git (master) completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [136/479] Analyzing https://github.com/lawruixi/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AndrewJanong/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AndrewJanong/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/shashahchk/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/brandon-nam/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lawruixi/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lawruixi/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kailash201/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Kailash201/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/brandon-nam/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/brandon-nam/ip.git (master) completed! -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [133/479] Analyzing https://github.com/B-enguin/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AaronJT1/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AaronJT1/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AaronJT1/ip.git (master) completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [137/479] Analyzing https://github.com/dlathyun/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alyssaongyx/ip.git completed! +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Chandan8186/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dlathyun/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dlathyun/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/laurenlim2112/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alyssaongyx/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/laurenlim2112/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/B-enguin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/B-enguin/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lambraydon/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lambraydon/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/s-kybound/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/s-kybound/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/s-kybound/ip.git (master) completed! -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [134/479] Analyzing https://github.com/wesho1107/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/laurenlim2112/ip.git to complete... +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kailash201/ip.git completed! +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AndrewJanong/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/sk2001git/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wesho1107/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wesho1107/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sk2001git/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kailash201/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chonguschonguschongus/ip.git... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chonguschonguschongus/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/laurenlim2112/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sk2001git/ip.git to complete... +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lawruixi/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lawruixi/ip.git (master)... +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lawruixi/ip.git (master) completed! +Aug 28, 2023 2:14:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [138/479] Analyzing https://github.com/Angelyxx/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Angelyxx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Angelyxx/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Angelyxx/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dlathyun/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Angelyxx/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Angelyxx/ip.git (master) completed! +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dlathyun/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [139/479] Analyzing https://github.com/ricketytoc/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dlathyun/ip.git (master) completed! +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [140/479] Analyzing https://github.com/jingting1412/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ricketytoc/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ricketytoc/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jingting1412/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jingting1412/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lambraydon/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lshaoqin/ip.git... -Aug 28, 2023 1:55:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wesho1107/ip.git (master)... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lshaoqin/ip.git to complete... -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/sk2001git/ip.git completed! -Aug 28, 2023 1:55:17 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lshaoqin/ip.git... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/peasantbird/ip.git... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wesho1107/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wesho1107/ip.git (master) completed! -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [135/479] Analyzing https://github.com/yihfei/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/peasantbird/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chonguschonguschongus/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lshaoqin/ip.git to complete... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WangCheng0116/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/WangCheng0116/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yihfei/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yihfei/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chonguschonguschongus/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yihfei/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/teozhengyang/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lshaoqin/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yihfei/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yihfei/ip.git (master) completed! -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [136/479] Analyzing https://github.com/AaronJT1/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/peasantbird/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/teozhengyang/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chewjh1234/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chewjh1234/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AaronJT1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AaronJT1/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WangCheng0116/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/elaineshijie/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lynnlow175/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lynnlow175/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/elaineshijie/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/B-enguin/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/B-enguin/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/B-enguin/ip.git (master) completed! -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [137/479] Analyzing https://github.com/Angelyxx/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Angelyxx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Angelyxx/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/teozhengyang/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lordidiot/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lordidiot/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AaronJT1/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AaronJT1/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AaronJT1/ip.git (master) completed! -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [138/479] Analyzing https://github.com/ricketytoc/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ricketytoc/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ricketytoc/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chewjh1234/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chew01/ip.git... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Angelyxx/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chew01/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/elaineshijie/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lynnlow175/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RSXIX/ip.git... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Angelyxx/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/juliusgambe/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Angelyxx/ip.git (master) completed! -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [139/479] Analyzing https://github.com/dlathyun/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/RSXIX/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/juliusgambe/ip.git to complete... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dlathyun/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dlathyun/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jingting1412/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jingting1412/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ricketytoc/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jingting1412/ip.git (master) completed! +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [141/479] Analyzing https://github.com/freddychenyouren2/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ricketytoc/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ricketytoc/ip.git (master) completed! -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [140/479] Analyzing https://github.com/SinhaVedant/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [142/479] Analyzing https://github.com/SinhaVedant/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/freddychenyouren2/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/freddychenyouren2/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SinhaVedant/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SinhaVedant/ip.git (master)... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lordidiot/ip.git completed! -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhonghan721/ip.git... -Aug 28, 2023 1:55:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhonghan721/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chew01/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RSXIX/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SinhaVedant/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WZWren/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/juliusgambe/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/inezkok/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wasjoe1/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WZWren/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wasjoe1/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/peasantbird/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SinhaVedant/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lshaoqin/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SinhaVedant/ip.git (master) completed! -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [141/479] Analyzing https://github.com/freddychenyouren2/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/inezkok/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/freddychenyouren2/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/freddychenyouren2/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhonghan721/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kokrui/ip.git... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dlathyun/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kokrui/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dlathyun/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dlathyun/ip.git (master) completed! -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [142/479] Analyzing https://github.com/jordankanghm/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [143/479] Analyzing https://github.com/jordankanghm/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WangCheng0116/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/teozhengyang/ip.git... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chewjh1234/ip.git... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chewjh1234/ip.git to complete... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/teozhengyang/ip.git to complete... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/elaineshijie/ip.git... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/elaineshijie/ip.git to complete... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/freddychenyouren2/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jordankanghm/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jordankanghm/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WZWren/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wasjoe1/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jinyang628/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nananakx-x/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/inezkok/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/freddychenyouren2/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nananakx-x/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jinyang628/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ylyma/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kokrui/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ylyma/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/freddychenyouren2/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/freddychenyouren2/ip.git (master) completed! -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [143/479] Analyzing https://github.com/adhigop13/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AnnabelTing/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AnnabelTing/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [144/479] Analyzing https://github.com/adhigop13/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/adhigop13/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/adhigop13/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jordankanghm/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jordankanghm/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jordankanghm/ip.git (master) completed! -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [144/479] Analyzing https://github.com/waseemingly/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/adhigop13/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jordankanghm/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/adhigop13/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/adhigop13/ip.git (master) completed! -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos INFO: [145/479] Analyzing https://github.com/raydenlim/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/waseemingly/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/waseemingly/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jordankanghm/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jordankanghm/ip.git (master) completed! +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [146/479] Analyzing https://github.com/waseemingly/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/raydenlim/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/raydenlim/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nananakx-x/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jinyang628/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ylyma/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/timetraveller-123/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LicongHuang/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AnnabelTing/ip.git completed! -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jweng88/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LicongHuang/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/EricXiong420/ip.git... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/timetraveller-123/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/EricXiong420/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Jweng88/ip.git to complete... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/waseemingly/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/waseemingly/ip.git (master)... +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/teozhengyang/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/elaineshijie/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chewjh1234/ip.git completed! +Aug 28, 2023 2:14:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lynnlow175/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lynnlow175/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lordidiot/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chew01/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lordidiot/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chew01/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/waseemingly/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/waseemingly/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/waseemingly/ip.git (master) completed! -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [146/479] Analyzing https://github.com/jingyu987/ip.git (master)... -Aug 28, 2023 1:55:19 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [147/479] Analyzing https://github.com/jingyu987/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jingyu987/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jingyu987/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/laurenlim2112/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/raydenlim/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RSXIX/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/RSXIX/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/raydenlim/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/raydenlim/ip.git (master) completed! -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [147/479] Analyzing https://github.com/FerdiHS/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [148/479] Analyzing https://github.com/FerdiHS/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/FerdiHS/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/FerdiHS/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lordidiot/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jingyu987/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LicongHuang/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Jweng88/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jovkusuma/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bhnuka/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jovkusuma/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lynnlow175/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/juliusgambe/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/juliusgambe/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chew01/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhonghan721/ip.git... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jingyu987/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jingyu987/ip.git (master) completed! -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [148/479] Analyzing https://github.com/jrchoo/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bhnuka/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/timetraveller-123/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/EricXiong420/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/J-hta-n/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jrchoo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jrchoo/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Tim-Siu/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Tim-Siu/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/J-hta-n/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/FerdiHS/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/FerdiHS/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/FerdiHS/ip.git (master) completed! -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepos INFO: [149/479] Analyzing https://github.com/RiyaMehta2211/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhonghan721/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WZWren/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RiyaMehta2211/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RiyaMehta2211/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jrchoo/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bhnuka/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jrchoo/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jrchoo/ip.git (master) completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yarnmengnus/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [150/479] Analyzing https://github.com/jingting1412/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yarnmengnus/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jovkusuma/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sopa301/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jingting1412/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jingting1412/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/J-hta-n/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sopa301/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ngeeyonglim/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ngeeyonglim/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Tim-Siu/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/flexibo/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/flexibo/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WZWren/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RSXIX/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/inezkok/ip.git... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/FerdiHS/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/inezkok/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/FerdiHS/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/FerdiHS/ip.git (master) completed! +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [150/479] Analyzing https://github.com/jrchoo/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jrchoo/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jrchoo/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/RiyaMehta2211/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/juliusgambe/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RiyaMehta2211/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wasjoe1/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RiyaMehta2211/ip.git (master) completed! -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepos INFO: [151/479] Analyzing https://github.com/leezhanpeng/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wasjoe1/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leezhanpeng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leezhanpeng/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jingting1412/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jingting1412/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jingting1412/ip.git (master) completed! -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhonghan721/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kokrui/ip.git... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jrchoo/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kokrui/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jrchoo/ip.git (master)... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jrchoo/ip.git (master) completed! +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator analyzeRepos INFO: [152/479] Analyzing https://github.com/juzzztinsoong/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yarnmengnus/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ItsTYtan/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WZWren/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jinyang628/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jinyang628/ip.git to complete... +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/inezkok/ip.git completed! +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nananakx-x/ip.git... +Aug 28, 2023 2:14:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/juzzztinsoong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/juzzztinsoong/ip.git (master)... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ItsTYtan/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sopa301/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ngeeyonglim/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/javinchua/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/amosting/ip.git... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/flexibo/ip.git completed! -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/javinchua/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/amosting/ip.git to complete... -Aug 28, 2023 1:55:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cleon2/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cleon2/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nananakx-x/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wasjoe1/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ylyma/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ylyma/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kokrui/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AnnabelTing/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AnnabelTing/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/juzzztinsoong/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jinyang628/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nananakx-x/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/timetraveller-123/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LicongHuang/ip.git... +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/juzzztinsoong/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/juzzztinsoong/ip.git (master) completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [153/479] Analyzing https://github.com/darrentfy/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ItsTYtan/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LicongHuang/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/timetraveller-123/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ylyma/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jweng88/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/darrentfy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/darrentfy/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ketweeen/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ketweeen/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/amosting/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sudarshan2401/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/javinchua/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sudarshan2401/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cleon2/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wui-hong/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wui-hong/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Respirayson/ip.git... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Jweng88/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AnnabelTing/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/leezhanpeng/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Respirayson/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/EricXiong420/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/EricXiong420/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/leezhanpeng/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/leezhanpeng/ip.git (master) completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [154/479] Analyzing https://github.com/redtailedfox/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/darrentfy/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/redtailedfox/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/redtailedfox/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/darrentfy/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ketweeen/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chrainx/ip.git... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/darrentfy/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/darrentfy/ip.git (master) completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [155/479] Analyzing https://github.com/Fallman2/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chrainx/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LicongHuang/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jovkusuma/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Fallman2/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Fallman2/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sudarshan2401/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wui-hong/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shishirbychapur/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shishirbychapur/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sunzihan23/ip.git... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/redtailedfox/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sunzihan23/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Respirayson/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wj331/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wj331/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/redtailedfox/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/redtailedfox/ip.git (master) completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [156/479] Analyzing https://github.com/Heran9/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Fallman2/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Heran9/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Heran9/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Fallman2/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jovkusuma/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Jweng88/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/timetraveller-123/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bhnuka/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/J-hta-n/ip.git... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/J-hta-n/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bhnuka/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Fallman2/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/EricXiong420/ip.git completed! +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Fallman2/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Fallman2/ip.git (master) completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [156/479] Analyzing https://github.com/Heran9/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Tim-Siu/ip.git... +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/redtailedfox/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Tim-Siu/ip.git to complete... +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Heran9/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Heran9/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/redtailedfox/ip.git (master)... +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/redtailedfox/ip.git (master) completed! +Aug 28, 2023 2:14:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [157/479] Analyzing https://github.com/VN-Hao/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chrainx/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/VN-Hao/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/VN-Hao/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tjch-o/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tjch-o/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shishirbychapur/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/licongshen12/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sunzihan23/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Heran9/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/licongshen12/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mamayuan/ip.git... -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wj331/ip.git completed! -Aug 28, 2023 1:55:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mamayuan/ip.git to complete... -Aug 28, 2023 1:55:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bhnuka/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Heran9/ip.git (master)... -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Heran9/ip.git (master) completed! -Aug 28, 2023 1:55:21 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepos INFO: [158/479] Analyzing https://github.com/jingjie88/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ong-wei-hong/ip.git... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/VN-Hao/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ong-wei-hong/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yarnmengnus/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jovkusuma/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yarnmengnus/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jingjie88/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jingjie88/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sopa301/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/J-hta-n/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/VN-Hao/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/VN-Hao/ip.git (master) completed! -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepos INFO: [159/479] Analyzing https://github.com/H1410101/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tjch-o/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanboonkhong/ip.git... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanboonkhong/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Tim-Siu/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sopa301/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ngeeyonglim/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/flexibo/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ngeeyonglim/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/H1410101/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/H1410101/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/flexibo/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jingjie88/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mamayuan/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cbj252/ip.git... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jingjie88/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/licongshen12/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jingjie88/ip.git (master) completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cbj252/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepos INFO: [160/479] Analyzing https://github.com/kimshitong/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlfredBeNoel/ip.git... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ong-wei-hong/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/keaganpzh/ip.git... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlfredBeNoel/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/keaganpzh/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kimshitong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kimshitong/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/H1410101/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/H1410101/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/H1410101/ip.git (master) completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanboonkhong/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepos INFO: [161/479] Analyzing https://github.com/ivanleekk/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ElginTZM/ip.git... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ElginTZM/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kimshitong/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kimshitong/ip.git (master)... +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ivanleekk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ivanleekk/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yarnmengnus/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ItsTYtan/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ItsTYtan/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ngeeyonglim/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/flexibo/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/javinchua/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/javinchua/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/amosting/ip.git... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/amosting/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sopa301/ip.git completed! +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kimshitong/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cleon2/ip.git... +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ivanleekk/ip.git (master)... +Aug 28, 2023 2:14:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cleon2/ip.git to complete... +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kimshitong/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kimshitong/ip.git (master) completed! -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepos INFO: [162/479] Analyzing https://github.com/tayruxin/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cbj252/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlfredBeNoel/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LimJH2002/ip.git... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ivanleekk/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cmHuang777/ip.git... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/keaganpzh/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ivanleekk/ip.git (master)... +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ivanleekk/ip.git (master) completed! +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [163/479] Analyzing https://github.com/raynertjx/ip.git (master)... +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tayruxin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tayruxin/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:09 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/raynertjx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/raynertjx/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ItsTYtan/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/javinchua/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/amosting/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ketweeen/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sudarshan2401/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ketweeen/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wui-hong/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wui-hong/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sudarshan2401/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cleon2/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Respirayson/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Respirayson/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/raynertjx/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/raynertjx/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/raynertjx/ip.git (master) completed! +Aug 28, 2023 2:14:10 PM reposense.report.ReportGenerator analyzeRepos +INFO: [164/479] Analyzing https://github.com/lamchenghou/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lamchenghou/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lamchenghou/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tayruxin/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sudarshan2401/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ketweeen/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wui-hong/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chrainx/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shishirbychapur/ip.git... +Aug 28, 2023 2:14:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tayruxin/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tayruxin/ip.git (master) completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shishirbychapur/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.ReportGenerator analyzeRepos +INFO: [165/479] Analyzing https://github.com/zhengyup/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chrainx/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sunzihan23/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Respirayson/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sunzihan23/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wj331/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wj331/ip.git to complete... +Aug 28, 2023 2:14:10 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhengyup/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhengyup/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chrainx/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhengyup/ip.git (master)... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tjch-o/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shishirbychapur/ip.git completed! +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/licongshen12/ip.git... +Aug 28, 2023 2:14:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tjch-o/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/licongshen12/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhengyup/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhengyup/ip.git (master) completed! +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [166/479] Analyzing https://github.com/Carlintyj/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sunzihan23/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wj331/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mamayuan/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ong-wei-hong/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ong-wei-hong/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mamayuan/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Carlintyj/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Carlintyj/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lamchenghou/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lamchenghou/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lamchenghou/ip.git (master) completed! +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [167/479] Analyzing https://github.com/larrywang0701/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Carlintyj/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/larrywang0701/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/larrywang0701/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Carlintyj/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Carlintyj/ip.git (master) completed! +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [168/479] Analyzing https://github.com/wxwern/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wxwern/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wxwern/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tjch-o/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanboonkhong/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanboonkhong/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mamayuan/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cbj252/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cbj252/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ong-wei-hong/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/licongshen12/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlfredBeNoel/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlfredBeNoel/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/keaganpzh/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/keaganpzh/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanboonkhong/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ElginTZM/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ElginTZM/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/larrywang0701/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cbj252/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LimJH2002/ip.git... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/larrywang0701/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/larrywang0701/ip.git (master) completed! +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [169/479] Analyzing https://github.com/nubnubyas/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wxwern/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LimJH2002/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nubnubyas/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nubnubyas/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wxwern/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wxwern/ip.git (master) completed! +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [170/479] Analyzing https://github.com/aslam341/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/keaganpzh/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlfredBeNoel/ip.git completed! +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cmHuang777/ip.git... +Aug 28, 2023 2:14:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aslam341/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aslam341/ip.git (master)... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WeeeHung/ip.git... -Aug 28, 2023 1:55:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ivanleekk/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ivanleekk/ip.git (master) completed! -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [163/479] Analyzing https://github.com/lamchenghou/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WeeeHung/ip.git to complete... +Aug 28, 2023 2:14:11 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/cmHuang777/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ElginTZM/ip.git completed! -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WeeeHung/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/xxiaoweii/ip.git... -Aug 28, 2023 1:55:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lamchenghou/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lamchenghou/ip.git (master)... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nubnubyas/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/xxiaoweii/ip.git to complete... -Aug 28, 2023 1:55:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cmHuang777/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LimJH2002/ip.git completed! +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nubnubyas/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nubnubyas/ip.git (master) completed! +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/rayyan35p/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [171/479] Analyzing https://github.com/LWZ19/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aslam341/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/rayyan35p/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LimJH2002/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dhruvir29/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LWZ19/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LWZ19/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aslam341/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aslam341/ip.git (master) completed! +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [172/479] Analyzing https://github.com/timleow/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/timleow/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/timleow/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cmHuang777/ip.git completed! +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/WeeeHung/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LinWanLeii/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dhruvir29/ip.git... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/dhruvir29/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xxiaoweii/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LinWanLeii/ip.git... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LinWanLeii/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/timleow/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/timleow/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/timleow/ip.git (master) completed! +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [173/479] Analyzing https://github.com/rayshawntan/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LWZ19/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/rayshawntan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/rayshawntan/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LWZ19/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LWZ19/ip.git (master) completed! +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [174/479] Analyzing https://github.com/Sheeepen/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Sheeepen/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Sheeepen/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xxiaoweii/ip.git completed! +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Song-Mengfei/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Song-Mengfei/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tayruxin/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tayruxin/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tayruxin/ip.git (master) completed! -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [164/479] Analyzing https://github.com/raynertjx/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/raynertjx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/raynertjx/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dhruvir29/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/rayyan35p/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/rayshawntan/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jinyuan0425/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LinWanLeii/ip.git completed! +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jinyuan0425/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Sheeepen/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/rayshawntan/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/rayshawntan/ip.git (master) completed! +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [175/479] Analyzing https://github.com/aexolate/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tiif/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tiif/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LinWanLeii/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aexolate/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aexolate/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Sheeepen/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Sheeepen/ip.git (master) completed! +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [176/479] Analyzing https://github.com/shuyangk/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shuyangk/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shuyangk/ip.git (master)... +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dhruvir29/ip.git completed! +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nicholascher/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Song-Mengfei/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nicholascher/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Song-Mengfei/ip.git completed! +Aug 28, 2023 2:14:12 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/hcs1203/ip.git... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lamchenghou/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/hcs1203/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lamchenghou/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lamchenghou/ip.git (master) completed! -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [165/479] Analyzing https://github.com/zhengyup/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhengyup/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhengyup/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/raynertjx/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/raynertjx/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/raynertjx/ip.git (master) completed! -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [166/479] Analyzing https://github.com/larrywang0701/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/larrywang0701/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/larrywang0701/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jinyuan0425/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/papataco14/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shuyangk/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tiif/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/papataco14/ip.git... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/KamJiaYue/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/papataco14/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shuyangk/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shuyangk/ip.git (master) completed! +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/KamJiaYue/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicholascher/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/NereusWB922/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/NereusWB922/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [177/479] Analyzing https://github.com/ncmathan/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ncmathan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ncmathan/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess WARNING: Exception met while trying to clone the repo "papataco14/ip[master]", will skip this repo. reposense.system.CommandRunnerProcessException: Error returned from command git clone --bare 'https://github.com/papataco14/ip.git' 'repos/papataco14_ip/ip_bare' on path . : Cloning into bare repository 'repos/papataco14_ip/ip_bare'... @@ -4264,493 +4390,503 @@ fatal: could not read Username for 'https://github.com': No such device or addre at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/NereusWB922/ip.git... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/NereusWB922/ip.git to complete... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicholascher/ip.git completed! +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/PohSayKeong/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hcs1203/ip.git completed! -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/PohSayKeong/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aexolate/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hcs1203/ip.git completed! +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ncmathan/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aexolate/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aexolate/ip.git (master) completed! +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ncmathan/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ncmathan/ip.git (master) completed! +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [178/479] Analyzing https://github.com/iyioon/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ivyy-poison/ip.git... -Aug 28, 2023 1:55:23 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [179/479] Analyzing https://github.com/kiwibang/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ivyy-poison/ip.git to complete... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhengyup/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhengyup/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhengyup/ip.git (master) completed! -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [167/479] Analyzing https://github.com/Carlintyj/ip.git (master)... -Aug 28, 2023 1:55:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Carlintyj/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Carlintyj/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/KamJiaYue/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jacobcuison/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/iyioon/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/iyioon/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jacobcuison/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kiwibang/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kiwibang/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/NereusWB922/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Carlintyj/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/larrywang0701/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ji-just-ji/ip.git... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/larrywang0701/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/larrywang0701/ip.git (master) completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [168/479] Analyzing https://github.com/wxwern/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ji-just-ji/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Carlintyj/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Carlintyj/ip.git (master) completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [169/479] Analyzing https://github.com/nubnubyas/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ivyy-poison/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kohkaijie/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/PohSayKeong/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nubnubyas/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nubnubyas/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wxwern/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wxwern/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kohkaijie/ip.git... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kohkaijie/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kiwibang/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ivyy-poison/ip.git completed! +Aug 28, 2023 2:14:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kiwibang/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kiwibang/ip.git (master) completed! +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [180/479] Analyzing https://github.com/mingyu-wan/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jacobcuison/ip.git completed! +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/rocketninja7/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/rocketninja7/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jacobcuison/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zekone/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mingyu-wan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mingyu-wan/ip.git (master)... +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zekone/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ji-just-ji/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nubnubyas/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kohkaijie/ip.git completed! +Aug 28, 2023 2:14:13 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/markgcera/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/PearlynnT/ip.git... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/markgcera/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nubnubyas/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/PearlynnT/ip.git to complete... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/iyioon/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/iyioon/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/iyioon/ip.git (master) completed! +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [181/479] Analyzing https://github.com/LuoZYi/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LuoZYi/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LuoZYi/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/mingyu-wan/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/mingyu-wan/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/mingyu-wan/ip.git (master) completed! +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zekone/ip.git completed! +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/rocketninja7/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nubnubyas/ip.git (master) completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [170/479] Analyzing https://github.com/LWZ19/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kohkaijie/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/PearlynnT/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LWZ19/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LWZ19/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [182/479] Analyzing https://github.com/asdfghjkxd/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/StevenLiudw/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/PearlynnT/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/StevenLiudw/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wxwern/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wxwern/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wxwern/ip.git (master) completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [171/479] Analyzing https://github.com/aslam341/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aslam341/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aslam341/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zekone/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TeeRenJing/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TeeRenJing/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/asdfghjkxd/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/asdfghjkxd/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/markgcera/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PearlynnT/ip.git completed! +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/mounilsankar/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/StevenLiudw/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mounilsankar/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/dloh2236/ip.git... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LuoZYi/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/dloh2236/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LWZ19/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PearlynnT/ip.git completed! -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zannloo/ip.git... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LWZ19/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LWZ19/ip.git (master) completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [172/479] Analyzing https://github.com/timleow/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zannloo/ip.git to complete... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aslam341/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aslam341/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aslam341/ip.git (master) completed! -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [173/479] Analyzing https://github.com/rayshawntan/ip.git (master)... -Aug 28, 2023 1:55:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/timleow/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/timleow/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mounilsankar/ip.git to complete... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LuoZYi/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LuoZYi/ip.git (master) completed! +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [183/479] Analyzing https://github.com/sushiyade/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sushiyade/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sushiyade/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sushiyade/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sushiyade/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sushiyade/ip.git (master) completed! +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [184/479] Analyzing https://github.com/McNaBry/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/StevenLiudw/ip.git completed! +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/TeeRenJing/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/rayshawntan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/rayshawntan/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zannloo/ip.git... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/junnengsoo/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/junnengsoo/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/McNaBry/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/McNaBry/ip.git (master)... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zannloo/ip.git to complete... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/mounilsankar/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/junnengsoo/ip.git to complete... +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dloh2236/ip.git completed! +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/freshcabbage123/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/freshcabbage123/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dloh2236/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kokseng1/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Kokseng1/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/timleow/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/zannloo/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/timleow/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/timleow/ip.git (master) completed! -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [174/479] Analyzing https://github.com/aexolate/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:14 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/itsNatTan/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/itsNatTan/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/rayshawntan/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aexolate/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aexolate/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/McNaBry/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/junnengsoo/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/rayshawntan/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/rayshawntan/ip.git (master) completed! -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [175/479] Analyzing https://github.com/Sheeepen/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/McNaBry/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/McNaBry/ip.git (master) completed! +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [185/479] Analyzing https://github.com/Nid21cs/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tjingsheng/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tjingsheng/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Sheeepen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Sheeepen/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/freshcabbage123/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ZD292/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Kokseng1/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alientian/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Nid21cs/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Nid21cs/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ZD292/ip.git... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/freshcabbage123/ip.git completed! +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ZD292/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alientian/ip.git... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/alientian/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/itsNatTan/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/frrrrry/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/frrrrry/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Nid21cs/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tjingsheng/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/wanghejin/ip.git... -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Sheeepen/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Nid21cs/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Nid21cs/ip.git (master) completed! +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/asdfghjkxd/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/wanghejin/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Sheeepen/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Sheeepen/ip.git (master) completed! -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [176/479] Analyzing https://github.com/shuyangk/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [186/479] Analyzing https://github.com/miljyy/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ZD292/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/miljyy/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/miljyy/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/asdfghjkxd/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/asdfghjkxd/ip.git (master) completed! +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/MagnificentCreature/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shuyangk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shuyangk/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/MagnificentCreature/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/frrrrry/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aexolate/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [187/479] Analyzing https://github.com/ncduy0303/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/alientian/ip.git completed! -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/MagnificentCreature/ip.git to complete... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/SungMatt/ip.git... -Aug 28, 2023 1:55:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aexolate/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aexolate/ip.git (master) completed! -Aug 28, 2023 1:55:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [177/479] Analyzing https://github.com/ncmathan/ip.git (master)... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andrefoo/ip.git... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ncduy0303/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ncduy0303/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SungMatt/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/frrrrry/ip.git completed! +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andrefoo/ip.git... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/andrefoo/ip.git to complete... -Aug 28, 2023 1:55:25 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ncduy0303/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ncduy0303/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ncduy0303/ip.git (master) completed! +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [188/479] Analyzing https://github.com/eyelessrhyme7/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/miljyy/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/eyelessrhyme7/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/eyelessrhyme7/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/wanghejin/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tohpinren/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ncmathan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ncmathan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tohpinren/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/miljyy/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/miljyy/ip.git (master) completed! +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [189/479] Analyzing https://github.com/ruishanteo/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/MagnificentCreature/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shuyangk/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/XihuaZ/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruishanteo/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruishanteo/ip.git (master)... +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/XihuaZ/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shuyangk/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shuyangk/ip.git (master) completed! -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [178/479] Analyzing https://github.com/iyioon/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/iyioon/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/iyioon/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ncmathan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ncmathan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ncmathan/ip.git (master) completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SungMatt/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [179/479] Analyzing https://github.com/mingyu-wan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:15 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/xavierpok/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xavierpok/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mingyu-wan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mingyu-wan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/andrefoo/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xavierpok/ip.git to complete... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/bkjwjason/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tohpinren/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/bkjwjason/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/eyelessrhyme7/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/eyelessrhyme7/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/eyelessrhyme7/ip.git (master) completed! +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [190/479] Analyzing https://github.com/m1oojv/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tohpinren/ip.git completed! +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/m1oojv/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/m1oojv/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Choonyan02/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Choonyan02/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/XihuaZ/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/aarontxz/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bkjwjason/ip.git completed! +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/aarontxz/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/mingyu-wan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xavierpok/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jianyangg/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jianyangg/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/mingyu-wan/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/mingyu-wan/ip.git (master) completed! -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [180/479] Analyzing https://github.com/kiwibang/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/iyioon/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/iyioon/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/iyioon/ip.git (master) completed! -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [181/479] Analyzing https://github.com/LuoZYi/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LuoZYi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LuoZYi/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kiwibang/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kiwibang/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bkjwjason/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xavierpok/ip.git completed! +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tayian/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jianyangg/ip.git to complete... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tayian/ip.git to complete... +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/m1oojv/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/m1oojv/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/m1oojv/ip.git (master) completed! +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [191/479] Analyzing https://github.com/Gabriel4357/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruishanteo/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Gabriel4357/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Gabriel4357/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Choonyan02/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/aarontxz/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tayian/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruishanteo/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruishanteo/ip.git (master) completed! +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [192/479] Analyzing https://github.com/Nixx162/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/wnchan/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Jweewee/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/wnchan/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Jweewee/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tayian/ip.git completed! +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jianyangg/ip.git completed! -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Nixx162/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Nixx162/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/cyaoxuan/ip.git... -Aug 28, 2023 1:55:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cyaoxuan/ip.git to complete... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LuoZYi/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LuoZYi/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LuoZYi/ip.git (master) completed! -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [182/479] Analyzing https://github.com/asdfghjkxd/ip.git (master)... -Aug 28, 2023 1:55:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/asdfghjkxd/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/asdfghjkxd/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kiwibang/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wnchan/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tayian/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kiwibang/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kiwibang/ip.git (master) completed! -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [183/479] Analyzing https://github.com/Nid21cs/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/anthonytamzil/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/CelestineTan03/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/CelestineTan03/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cyaoxuan/ip.git to complete... +Aug 28, 2023 2:14:16 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/anthonytamzil/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Gabriel4357/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Gabriel4357/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Gabriel4357/ip.git (master) completed! +Aug 28, 2023 2:14:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [193/479] Analyzing https://github.com/mfjkri/ip.git (master)... +Aug 28, 2023 2:14:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Nixx162/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wnchan/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mfjkri/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mfjkri/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Jweewee/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/CelestineTan03/ip.git... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/saltedfishxx/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Nid21cs/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Nid21cs/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/saltedfishxx/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cyaoxuan/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/euchangxian/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/CelestineTan03/ip.git to complete... +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Nixx162/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Nixx162/ip.git (master) completed! +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [194/479] Analyzing https://github.com/junhonglow/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/anthonytamzil/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cyaoxuan/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/junhonglow/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/junhonglow/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/euchangxian/ip.git... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlagappanRa/ip.git... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/euchangxian/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlagappanRa/ip.git to complete... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/CelestineTan03/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Nid21cs/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlagappanRa/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/anthonytamzil/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/junhonglow/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Ken-Lai/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlagappanRa/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Ken-Lai/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Nid21cs/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/saltedfishxx/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Nid21cs/ip.git (master) completed! -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [184/479] Analyzing https://github.com/sushiyade/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/junhonglow/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/junhonglow/ip.git (master) completed! +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [195/479] Analyzing https://github.com/RoeReRe/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlagappanRa/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/felibunnyy/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/euchangxian/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/RoeReRe/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/RoeReRe/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/felibunnyy/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/saltedfishxx/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/euchangxian/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/itssisi/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sushiyade/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sushiyade/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jamz903/ip.git... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/itssisi/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sushiyade/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jamz903/ip.git to complete... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess WARNING: Exception met while trying to clone the repo "felibunnyy/ip[master]", will skip this repo. reposense.system.CommandRunnerProcessException: Error returned from command git clone --bare 'https://github.com/felibunnyy/ip.git' 'repos/felibunnyy_ip/ip_bare' on path . : Cloning into bare repository 'repos/felibunnyy_ip/ip_bare'... @@ -4766,39 +4902,37 @@ fatal: could not read Username for 'https://github.com': No such device or addre at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jamz903/ip.git... -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sushiyade/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sushiyade/ip.git (master) completed! -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [185/479] Analyzing https://github.com/McNaBry/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jamz903/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/McNaBry/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/McNaBry/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlagappanRa/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kevin-Liusx/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/mfjkri/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Kevin-Liusx/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/mfjkri/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/mfjkri/ip.git (master) completed! +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [196/479] Analyzing https://github.com/Badatprogrammiing/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Badatprogrammiing/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Badatprogrammiing/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Ken-Lai/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Propene-Dan/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/itssisi/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Propene-Dan/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RoeReRe/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/itssisi/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ChuanXinNg/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChuanXinNg/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jamz903/ip.git completed! +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess WARNING: Exception met while trying to clone the repo "Propene-Dan/ip[master]", will skip this repo. reposense.system.CommandRunnerProcessException: Error returned from command git clone --bare 'https://github.com/Propene-Dan/ip.git' 'repos/Propene-Dan_ip/ip_bare' on path . : Cloning into bare repository 'repos/Propene-Dan_ip/ip_bare'... @@ -4814,3889 +4948,3755 @@ fatal: could not read Username for 'https://github.com': No such device or addre at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kenvynKwek/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/RoeReRe/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/RoeReRe/ip.git (master) completed! +Aug 28, 2023 2:14:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [197/479] Analyzing https://github.com/nknguyenhc/ip.git (master)... +Aug 28, 2023 2:14:17 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kenvynKwek/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/McNaBry/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jamz903/ip.git completed! -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/McNaBry/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/McNaBry/ip.git (master) completed! -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [186/479] Analyzing https://github.com/miljyy/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Ruizhi2001/ip.git... -Aug 28, 2023 1:55:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Ruizhi2001/ip.git to complete... -Aug 28, 2023 1:55:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/asdfghjkxd/ip.git (master)... -Aug 28, 2023 1:55:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/miljyy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/miljyy/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/asdfghjkxd/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/asdfghjkxd/ip.git (master) completed! -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [187/479] Analyzing https://github.com/ncduy0303/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Kevin-Liusx/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChuanXinNg/ip.git to complete... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Ruizhi2001/ip.git to complete... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/prawnzyy/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nknguyenhc/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nknguyenhc/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/prawnzyy/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ncduy0303/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ncduy0303/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ChuanXinNg/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/saraozn/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/kenvynKwek/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/saraozn/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nicholastng010601/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Ruizhi2001/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nicholastng010601/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DistractedCat/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DistractedCat/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/miljyy/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/miljyy/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/miljyy/ip.git (master) completed! -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [188/479] Analyzing https://github.com/eyelessrhyme7/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/prawnzyy/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ncduy0303/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ncduy0303/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ncduy0303/ip.git (master) completed! -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [189/479] Analyzing https://github.com/ruishanteo/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/eyelessrhyme7/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/eyelessrhyme7/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Ruizhi2001/ip.git completed! +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nknguyenhc/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DistractedCat/ip.git... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yezkez10/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DistractedCat/ip.git to complete... +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Badatprogrammiing/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nknguyenhc/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nknguyenhc/ip.git (master) completed! +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepos +INFO: [198/479] Analyzing https://github.com/wujy28/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yezkez10/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruishanteo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruishanteo/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Badatprogrammiing/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Badatprogrammiing/ip.git (master) completed! +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepos +INFO: [199/479] Analyzing https://github.com/winson8222/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wujy28/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wujy28/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/winson8222/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/winson8222/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/saraozn/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/revdrag/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/revdrag/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/nicholastng010601/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DistractedCat/ip.git completed! +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/alvinlim277/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yezkez10/ip.git completed! +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/alvinlim277/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DistractedCat/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/JasonRay168/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JasonRay168/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/eyelessrhyme7/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/eyelessrhyme7/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/eyelessrhyme7/ip.git (master) completed! -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [190/479] Analyzing https://github.com/m1oojv/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/m1oojv/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/m1oojv/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yezkez10/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wujy28/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/billieboy7/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JasonRay168/ip.git to complete... +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wujy28/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wujy28/ip.git (master) completed! +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepos +INFO: [200/479] Analyzing https://github.com/SimWPEric/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/billieboy7/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SimWPEric/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SimWPEric/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/winson8222/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/winson8222/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/winson8222/ip.git (master) completed! +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator analyzeRepos +INFO: [201/479] Analyzing https://github.com/HugeNoob/ip.git (master)... +Aug 28, 2023 2:14:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/HugeNoob/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/HugeNoob/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/revdrag/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jannnice/ip.git... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jannnice/ip.git to complete... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JasonRay168/ip.git completed! -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/evanyan13/ip.git... -Aug 28, 2023 1:55:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruishanteo/ip.git (master)... -Aug 28, 2023 1:55:28 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/alvinlim277/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/evanyan13/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JasonRay168/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/evanyan13/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/m1oojv/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/samuelim01/ip.git... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruishanteo/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruishanteo/ip.git (master) completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [191/479] Analyzing https://github.com/Nixx162/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/m1oojv/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/m1oojv/ip.git (master) completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [192/479] Analyzing https://github.com/Gabriel4357/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/samuelim01/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/billieboy7/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Gabriel4357/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/dinde2004/ip.git... -Aug 28, 2023 1:55:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Gabriel4357/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Nixx162/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Nixx162/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/samuelim01/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/dinde2004/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/evanyan13/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jannnice/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seanpzk/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seanpzk/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KumChaiYin/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/KumChaiYin/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/samuelim01/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lsyurea/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lsyurea/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dinde2004/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Nixx162/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sasmik23/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sasmik23/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Nixx162/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Nixx162/ip.git (master) completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [193/479] Analyzing https://github.com/mfjkri/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Gabriel4357/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mfjkri/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mfjkri/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Gabriel4357/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Gabriel4357/ip.git (master) completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [194/479] Analyzing https://github.com/junhonglow/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/junhonglow/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/junhonglow/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lsyurea/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seanpzk/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KumChaiYin/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/geraldngjx/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lululwtv/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/geraldngjx/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/garylow2001/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/garylow2001/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lululwtv/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sasmik23/ip.git completed! -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leontan2/ip.git... -Aug 28, 2023 1:55:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/leontan2/ip.git to complete... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/junhonglow/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/junhonglow/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/junhonglow/ip.git (master) completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [195/479] Analyzing https://github.com/Badatprogrammiing/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Badatprogrammiing/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Badatprogrammiing/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/mfjkri/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/mfjkri/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/mfjkri/ip.git (master) completed! -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [196/479] Analyzing https://github.com/RoeReRe/ip.git (master)... -Aug 28, 2023 1:55:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/RoeReRe/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/RoeReRe/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/geraldngjx/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leontan2/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wamps-jp/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dickongwd/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dickongwd/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wamps-jp/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lululwtv/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/garylow2001/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jacksonyuan256/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/suryanshkushwaha/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jacksonyuan256/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/suryanshkushwaha/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Badatprogrammiing/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RoeReRe/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/RoeReRe/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/RoeReRe/ip.git (master) completed! -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [197/479] Analyzing https://github.com/nknguyenhc/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Badatprogrammiing/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Badatprogrammiing/ip.git (master) completed! -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [198/479] Analyzing https://github.com/winson8222/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nknguyenhc/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nknguyenhc/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wamps-jp/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/winson8222/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/winson8222/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dickongwd/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wr1159/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nauxe/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/suryanshkushwaha/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jacksonyuan256/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wr1159/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yyyaohhh/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Nauxe/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yyyaohhh/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhanyang01/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhanyang01/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nknguyenhc/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wr1159/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/winson8222/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/czhiruo/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nauxe/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/victorpengmx/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yyyaohhh/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/czhiruo/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nknguyenhc/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nknguyenhc/ip.git (master) completed! -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/longnguyentan/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [199/479] Analyzing https://github.com/wujy28/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/victorpengmx/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhanyang01/ip.git completed! -Aug 28, 2023 1:55:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/winson8222/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/winson8222/ip.git (master) completed! -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [200/479] Analyzing https://github.com/HugeNoob/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/longnguyentan/ip.git to complete... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wujy28/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wujy28/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cikguseven/ip.git... -Aug 28, 2023 1:55:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/HugeNoob/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/HugeNoob/ip.git (master)... -Aug 28, 2023 1:55:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cikguseven/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wujy28/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wujy28/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wujy28/ip.git (master) completed! -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [201/479] Analyzing https://github.com/SimWPEric/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SimWPEric/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SimWPEric/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/czhiruo/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Eola-Z/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Eola-Z/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/longnguyentan/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/victorpengmx/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jibtaf/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lipwei1808/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lipwei1808/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jibtaf/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cikguseven/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Mohammed-Faizzzz/ip.git... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/HugeNoob/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Mohammed-Faizzzz/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/HugeNoob/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/HugeNoob/ip.git (master) completed! -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepos INFO: [202/479] Analyzing https://github.com/lerxuann/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jannnice/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lerxuann/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lerxuann/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Eola-Z/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dylkaw/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dylkaw/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lipwei1808/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nikele2001/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nikele2001/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Mohammed-Faizzzz/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DeltonCheng/ip.git... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lerxuann/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jibtaf/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DeltonCheng/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ChangruHenryQian/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChangruHenryQian/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dylkaw/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lerxuann/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lerxuann/ip.git (master) completed! -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [203/479] Analyzing https://github.com/Weiennn/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seanpzk/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seanpzk/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SimWPEric/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/craigtonlian/ip.git... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/evanyan13/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/samuelim01/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KumChaiYin/ip.git... +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SimWPEric/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SimWPEric/ip.git (master) completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/craigtonlian/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [204/479] Analyzing https://github.com/maj0-0/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Weiennn/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Weiennn/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/maj0-0/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/maj0-0/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nikele2001/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruo-x/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruo-x/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/maj0-0/ip.git (master)... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DeltonCheng/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChangruHenryQian/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/iantsaii/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/craigtonlian/ip.git completed! -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/iantsaii/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wjacobw/ip.git... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wjacobw/ip.git to complete... -Aug 28, 2023 1:55:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/angkyakdifp/ip.git... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/maj0-0/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/maj0-0/ip.git (master) completed! -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [205/479] Analyzing https://github.com/qyaner/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [203/479] Analyzing https://github.com/Weiennn/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/KumChaiYin/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dinde2004/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lsyurea/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sasmik23/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lsyurea/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Weiennn/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Weiennn/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sasmik23/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lerxuann/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lerxuann/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lerxuann/ip.git (master) completed! +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [204/479] Analyzing https://github.com/maj0-0/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/maj0-0/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/maj0-0/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seanpzk/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Weiennn/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/angkyakdifp/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lsyurea/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KumChaiYin/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/geraldngjx/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lululwtv/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lululwtv/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/geraldngjx/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/garylow2001/ip.git... +Aug 28, 2023 2:14:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Weiennn/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Weiennn/ip.git (master) completed! -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [206/479] Analyzing https://github.com/ruiyangzh/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [205/479] Analyzing https://github.com/qyaner/ip.git (master)... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/garylow2001/ip.git to complete... +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sasmik23/ip.git completed! +Aug 28, 2023 2:14:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leontan2/ip.git... +Aug 28, 2023 2:14:19 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/qyaner/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/qyaner/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruiyangzh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruiyangzh/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruo-x/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brein62/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brein62/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/leontan2/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/maj0-0/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/maj0-0/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/maj0-0/ip.git (master) completed! +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepos +INFO: [206/479] Analyzing https://github.com/Bombbird2001/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bombbird2001/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bombbird2001/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/qyaner/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wjacobw/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/qyaner/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/qyaner/ip.git (master) completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicrandomlee/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepos INFO: [207/479] Analyzing https://github.com/hyc17003/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruiyangzh/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicrandomlee/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/iantsaii/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/angkyakdifp/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bryan-Goh/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/hyc17003/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/hyc17003/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kiatkat/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bryan-Goh/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruiyangzh/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruiyangzh/ip.git (master) completed! -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [208/479] Analyzing https://github.com/Bombbird2001/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kiatkat/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bombbird2001/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bombbird2001/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brein62/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/MadLamprey/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/MadLamprey/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/garylow2001/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wamps-jp/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wamps-jp/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leontan2/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lululwtv/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dickongwd/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jacksonyuan256/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jacksonyuan256/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dickongwd/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/hyc17003/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/hyc17003/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/hyc17003/ip.git (master) completed! -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepos +INFO: [208/479] Analyzing https://github.com/ruiyangzh/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/geraldngjx/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/suryanshkushwaha/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruiyangzh/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruiyangzh/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/suryanshkushwaha/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wamps-jp/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wr1159/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wr1159/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Bombbird2001/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dickongwd/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nauxe/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Nauxe/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Bombbird2001/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Bombbird2001/ip.git (master) completed! +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepos INFO: [209/479] Analyzing https://github.com/adammangzijun/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jacksonyuan256/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yyyaohhh/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/adammangzijun/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/adammangzijun/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicrandomlee/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xyT-T/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xyT-T/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bryan-Goh/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kiatkat/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jiakai-17/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nreHieW/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nreHieW/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jiakai-17/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/MadLamprey/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nathanielcalimag/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nathanielcalimag/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/adammangzijun/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/adammangzijun/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/adammangzijun/ip.git (master) completed! -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yyyaohhh/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/suryanshkushwaha/ip.git completed! +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruiyangzh/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhanyang01/ip.git... +Aug 28, 2023 2:14:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhanyang01/ip.git to complete... +Aug 28, 2023 2:14:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruiyangzh/ip.git (master)... +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruiyangzh/ip.git (master) completed! +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator analyzeRepos INFO: [210/479] Analyzing https://github.com/andytoh1/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xyT-T/ip.git completed! -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Saezenn/ip.git... -Aug 28, 2023 1:55:32 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:20 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/andytoh1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/andytoh1/ip.git (master)... -Aug 28, 2023 1:55:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Saezenn/ip.git to complete... -Aug 28, 2023 1:55:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Bombbird2001/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Bombbird2001/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Bombbird2001/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/adammangzijun/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wr1159/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/czhiruo/ip.git... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/adammangzijun/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/adammangzijun/ip.git (master) completed! +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos INFO: [211/479] Analyzing https://github.com/Originalidk/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jiakai-17/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/czhiruo/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nauxe/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/victorpengmx/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/victorpengmx/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/andytoh1/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yyyaohhh/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Originalidk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Originalidk/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jellywaiyan/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jellywaiyan/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nreHieW/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/andytoh1/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nathanielcalimag/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marquestye/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Tang-Moyan/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marquestye/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/longnguyentan/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/longnguyentan/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/andytoh1/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/andytoh1/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [212/479] Analyzing https://github.com/InfiBeyond/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Tang-Moyan/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Saezenn/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/InfiBeyond/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/InfiBeyond/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DonovanJJ/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DonovanJJ/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [212/479] Analyzing https://github.com/quzhetao01/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/quzhetao01/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/quzhetao01/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Originalidk/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Originalidk/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Originalidk/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [213/479] Analyzing https://github.com/quzhetao01/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/quzhetao01/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/quzhetao01/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marquestye/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jellywaiyan/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/InfiBeyond/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sebtey/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rionshocker/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sebtey/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rionshocker/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Tang-Moyan/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/InfiBeyond/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/InfiBeyond/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [214/479] Analyzing https://github.com/Bearypop/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tyouwei/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tyouwei/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DonovanJJ/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Blizzeracz/ip.git... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bearypop/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bearypop/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Blizzeracz/ip.git to complete... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [213/479] Analyzing https://github.com/InfiBeyond/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/quzhetao01/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/quzhetao01/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/quzhetao01/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [215/479] Analyzing https://github.com/sp4ce-cowboy/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sebtey/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sp4ce-cowboy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sp4ce-cowboy/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/czhiruo/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [214/479] Analyzing https://github.com/Bearypop/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cikguseven/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/InfiBeyond/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/InfiBeyond/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/victorpengmx/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cikguseven/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Eola-Z/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bearypop/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bearypop/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/longnguyentan/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Eola-Z/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jibtaf/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jibtaf/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/InfiBeyond/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Bearypop/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rionshocker/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/InfiBeyond/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/InfiBeyond/ip.git (master) completed! +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [215/479] Analyzing https://github.com/sp4ce-cowboy/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Bearypop/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Bearypop/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos INFO: [216/479] Analyzing https://github.com/JasonLCY-Temp/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JasonLCY-Temp/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JasonLCY-Temp/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tyouwei/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sp4ce-cowboy/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sp4ce-cowboy/ip.git (master)... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cikguseven/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lipwei1808/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Eola-Z/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lipwei1808/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Mohammed-Faizzzz/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Mohammed-Faizzzz/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jibtaf/ip.git completed! +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dylkaw/ip.git... +Aug 28, 2023 2:14:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dylkaw/ip.git to complete... +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sp4ce-cowboy/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Blizzeracz/ip.git completed! -Aug 28, 2023 1:55:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sp4ce-cowboy/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sp4ce-cowboy/ip.git (master) completed! -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepos INFO: [217/479] Analyzing https://github.com/wjayee/ip.git (master)... -Aug 28, 2023 1:55:33 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wjayee/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wjayee/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/JasonLCY-Temp/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JasonLCY-Temp/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JasonLCY-Temp/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepos INFO: [218/479] Analyzing https://github.com/vivienherq/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/vivienherq/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/vivienherq/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Mohammed-Faizzzz/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lipwei1808/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nikele2001/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhanyang01/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nikele2001/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DeltonCheng/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dylkaw/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ChangruHenryQian/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DeltonCheng/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/craigtonlian/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/craigtonlian/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChangruHenryQian/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wjayee/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wjayee/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wjayee/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [219/479] Analyzing https://github.com/jamesebond/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jamesebond/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jamesebond/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepos +INFO: [219/479] Analyzing https://github.com/jonyeokj/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/vivienherq/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/vivienherq/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/vivienherq/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [220/479] Analyzing https://github.com/jonyeokj/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jonyeokj/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jonyeokj/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/vivienherq/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/vivienherq/ip.git (master) completed! +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepos +INFO: [220/479] Analyzing https://github.com/jamesebond/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jamesebond/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jamesebond/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChangruHenryQian/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruo-x/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruo-x/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/craigtonlian/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nikele2001/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/iantsaii/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DeltonCheng/ip.git completed! +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wjacobw/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/angkyakdifp/ip.git... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/iantsaii/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/angkyakdifp/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wjacobw/ip.git to complete... +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jonyeokj/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jamesebond/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jonyeokj/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jonyeokj/ip.git (master) completed! +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepos +INFO: [221/479] Analyzing https://github.com/victorlaiyeeteng/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jamesebond/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jamesebond/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [221/479] Analyzing https://github.com/victorlaiyeeteng/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator analyzeRepos +INFO: [222/479] Analyzing https://github.com/lyuanww/ip.git (master)... +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/victorlaiyeeteng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/victorlaiyeeteng/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jonyeokj/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jonyeokj/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jonyeokj/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [222/479] Analyzing https://github.com/lyuanww/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lyuanww/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lyuanww/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruo-x/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brein62/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/iantsaii/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicrandomlee/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicrandomlee/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wjacobw/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brein62/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/angkyakdifp/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bryan-Goh/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kiatkat/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kiatkat/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bryan-Goh/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/victorlaiyeeteng/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/victorlaiyeeteng/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/victorlaiyeeteng/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepos INFO: [223/479] Analyzing https://github.com/yongning0310/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lyuanww/ip.git (master)... +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yongning0310/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yongning0310/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lyuanww/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lyuanww/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lyuanww/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepos INFO: [224/479] Analyzing https://github.com/LoMaply/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LoMaply/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LoMaply/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brein62/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/MadLamprey/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/MadLamprey/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kiatkat/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicrandomlee/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xyT-T/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bryan-Goh/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jiakai-17/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nreHieW/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xyT-T/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jiakai-17/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yongning0310/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nreHieW/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yongning0310/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yongning0310/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [225/479] Analyzing https://github.com/tllshan/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepos +INFO: [225/479] Analyzing https://github.com/Gavino3o/ip.git (master)... +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LoMaply/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tllshan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tllshan/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LoMaply/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LoMaply/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [226/479] Analyzing https://github.com/Gavino3o/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Gavino3o/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Gavino3o/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LoMaply/ip.git (master)... +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LoMaply/ip.git (master) completed! +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator analyzeRepos +INFO: [226/479] Analyzing https://github.com/tllshan/ip.git (master)... +Aug 28, 2023 2:14:23 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tllshan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tllshan/ip.git (master)... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/MadLamprey/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nathanielcalimag/ip.git... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nathanielcalimag/ip.git to complete... +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xyT-T/ip.git completed! +Aug 28, 2023 2:14:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jiakai-17/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Saezenn/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Saezenn/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jellywaiyan/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jellywaiyan/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nreHieW/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marquestye/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marquestye/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tllshan/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Gavino3o/ip.git (master)... +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tllshan/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tllshan/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [227/479] Analyzing https://github.com/HollaG/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/HollaG/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/HollaG/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Gavino3o/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Gavino3o/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Gavino3o/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [228/479] Analyzing https://github.com/cheeggered/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/HollaG/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/HollaG/ip.git (master)... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nathanielcalimag/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cheeggered/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cheeggered/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/HollaG/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/HollaG/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/HollaG/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [229/479] Analyzing https://github.com/xenosf/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/xenosf/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/xenosf/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Tang-Moyan/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Tang-Moyan/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Saezenn/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jellywaiyan/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DonovanJJ/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DonovanJJ/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sebtey/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sebtey/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marquestye/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rionshocker/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rionshocker/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/cheeggered/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cheeggered/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cheeggered/ip.git (master) completed! -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepos +INFO: [229/479] Analyzing https://github.com/xenosf/ip.git (master)... +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/HollaG/ip.git (master)... +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/xenosf/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/xenosf/ip.git (master)... +Aug 28, 2023 2:14:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/HollaG/ip.git (master)... +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/HollaG/ip.git (master) completed! +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [230/479] Analyzing https://github.com/TehOPanas/ip.git (master)... -Aug 28, 2023 1:55:34 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Tang-Moyan/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tyouwei/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tyouwei/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TehOPanas/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TehOPanas/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/xenosf/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/xenosf/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sebtey/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Blizzeracz/ip.git... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DonovanJJ/ip.git completed! +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Blizzeracz/ip.git to complete... +Aug 28, 2023 2:14:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rionshocker/ip.git completed! +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TehOPanas/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/xenosf/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [231/479] Analyzing https://github.com/neyapraveen/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TehOPanas/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TehOPanas/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [232/479] Analyzing https://github.com/AlyssaPng/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [231/479] Analyzing https://github.com/neyapraveen/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Blizzeracz/ip.git completed! +Aug 28, 2023 2:14:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tyouwei/ip.git completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/neyapraveen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/neyapraveen/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AlyssaPng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AlyssaPng/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/xenosf/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/xenosf/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/xenosf/ip.git (master) completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [232/479] Analyzing https://github.com/richiehx/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/richiehx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/richiehx/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/neyapraveen/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/neyapraveen/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/neyapraveen/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [233/479] Analyzing https://github.com/richiehx/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/richiehx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/richiehx/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AlyssaPng/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AlyssaPng/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AlyssaPng/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [234/479] Analyzing https://github.com/seantehds/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seantehds/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seantehds/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [233/479] Analyzing https://github.com/AlyssaPng/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AlyssaPng/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AlyssaPng/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/richiehx/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/richiehx/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/richiehx/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [235/479] Analyzing https://github.com/leezhengjing/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/seantehds/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [234/479] Analyzing https://github.com/leezhengjing/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leezhengjing/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leezhengjing/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/seantehds/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/seantehds/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AlyssaPng/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AlyssaPng/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AlyssaPng/ip.git (master) completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [235/479] Analyzing https://github.com/seantehds/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seantehds/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seantehds/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/leezhengjing/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/leezhengjing/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/leezhengjing/ip.git (master) completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos INFO: [236/479] Analyzing https://github.com/ceilingFan456/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ceilingFan456/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ceilingFan456/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/leezhengjing/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/seantehds/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/seantehds/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/seantehds/ip.git (master) completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [237/479] Analyzing https://github.com/lihongguang00/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lihongguang00/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lihongguang00/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ceilingFan456/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/leezhengjing/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/leezhengjing/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ceilingFan456/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [237/479] Analyzing https://github.com/Singa-pirate/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ceilingFan456/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [238/479] Analyzing https://github.com/songfangyl/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [238/479] Analyzing https://github.com/Singa-pirate/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Singa-pirate/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Singa-pirate/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lihongguang00/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lihongguang00/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lihongguang00/ip.git (master) completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [239/479] Analyzing https://github.com/songfangyl/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/songfangyl/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/songfangyl/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/songfangyl/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/songfangyl/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/songfangyl/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [239/479] Analyzing https://github.com/lihongguang00/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lihongguang00/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lihongguang00/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Singa-pirate/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Singa-pirate/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Singa-pirate/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos INFO: [240/479] Analyzing https://github.com/vansh284/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/songfangyl/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/songfangyl/ip.git (master)... +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/songfangyl/ip.git (master) completed! +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/vansh284/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/vansh284/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lihongguang00/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lihongguang00/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lihongguang00/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos INFO: [241/479] Analyzing https://github.com/YeoBohShin/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/YeoBohShin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/YeoBohShin/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/YeoBohShin/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/YeoBohShin/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/YeoBohShin/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator analyzeRepos INFO: [242/479] Analyzing https://github.com/lunaroddity/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lunaroddity/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lunaroddity/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lunaroddity/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lunaroddity/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lunaroddity/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [243/479] Analyzing https://github.com/shuenj/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/vansh284/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/shuenj/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/shuenj/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/vansh284/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/vansh284/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/vansh284/ip.git (master) completed! -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [244/479] Analyzing https://github.com/andrechuakj/ip.git (master)... -Aug 28, 2023 1:55:35 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/andrechuakj/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/andrechuakj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/shuenj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/andrechuakj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/shuenj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shuenj/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [245/479] Analyzing https://github.com/WeeMingQing/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/andrechuakj/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WeeMingQing/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WeeMingQing/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/andrechuakj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/andrechuakj/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [246/479] Analyzing https://github.com/aliciamichellew/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WeeMingQing/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WeeMingQing/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/aliciamichellew/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/aliciamichellew/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WeeMingQing/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WeeMingQing/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WeeMingQing/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [247/479] Analyzing https://github.com/samuelmui8/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/samuelmui8/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/samuelmui8/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/aliciamichellew/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/aliciamichellew/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/aliciamichellew/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [248/479] Analyzing https://github.com/antonTan96/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/samuelmui8/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/antonTan96/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/antonTan96/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/samuelmui8/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/samuelmui8/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/samuelmui8/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [249/479] Analyzing https://github.com/owenyeo/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/owenyeo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/owenyeo/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/owenyeo/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/antonTan96/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/owenyeo/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/owenyeo/ip.git (master) completed! +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [250/479] Analyzing https://github.com/gongg21/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/antonTan96/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/antonTan96/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [250/479] Analyzing https://github.com/gongg21/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/owenyeo/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [251/479] Analyzing https://github.com/nabonitasen/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/gongg21/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/gongg21/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/owenyeo/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/owenyeo/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [251/479] Analyzing https://github.com/nabonitasen/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nabonitasen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nabonitasen/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nabonitasen/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/gongg21/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nabonitasen/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nabonitasen/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/gongg21/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [252/479] Analyzing https://github.com/erohsikivar/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/gongg21/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [253/479] Analyzing https://github.com/pzl111/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/gongg21/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/erohsikivar/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/erohsikivar/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/gongg21/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/gongg21/ip.git (master) completed! +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [253/479] Analyzing https://github.com/pzl111/ip.git (master)... +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/pzl111/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/pzl111/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/erohsikivar/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/erohsikivar/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/erohsikivar/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [254/479] Analyzing https://github.com/teozern1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teozern1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teozern1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/pzl111/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/pzl111/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/pzl111/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [255/479] Analyzing https://github.com/Elijah5399/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Elijah5399/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Elijah5399/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/teozern1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/teozern1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/teozern1/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [256/479] Analyzing https://github.com/nicleongyj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Elijah5399/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicleongyj/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicleongyj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Elijah5399/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Elijah5399/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Elijah5399/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [257/479] Analyzing https://github.com/WinSheng1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WinSheng1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WinSheng1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicleongyj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicleongyj/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicleongyj/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [258/479] Analyzing https://github.com/ryamgoh/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ryamgoh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ryamgoh/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WinSheng1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ryamgoh/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WinSheng1/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WinSheng1/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [259/479] Analyzing https://github.com/yucongkoo/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yucongkoo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yucongkoo/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ryamgoh/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryamgoh/ip.git (master)... -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryamgoh/ip.git (master) completed! -Aug 28, 2023 1:55:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [260/479] Analyzing https://github.com/Chen-Kuei/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Chen-Kuei/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Chen-Kuei/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Chen-Kuei/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Chen-Kuei/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Chen-Kuei/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [261/479] Analyzing https://github.com/conradsoon/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yucongkoo/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yucongkoo/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [260/479] Analyzing https://github.com/conradsoon/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/conradsoon/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/conradsoon/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/conradsoon/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yucongkoo/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/conradsoon/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/conradsoon/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [262/479] Analyzing https://github.com/GSgiansen/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yucongkoo/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yucongkoo/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [263/479] Analyzing https://github.com/et-irl/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [261/479] Analyzing https://github.com/GSgiansen/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/GSgiansen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/GSgiansen/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/et-irl/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/et-irl/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/GSgiansen/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yucongkoo/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/GSgiansen/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/GSgiansen/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [262/479] Analyzing https://github.com/et-irl/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yucongkoo/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yucongkoo/ip.git (master) completed! +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [263/479] Analyzing https://github.com/Chen-Kuei/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/et-irl/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/et-irl/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Chen-Kuei/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Chen-Kuei/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Chen-Kuei/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Chen-Kuei/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Chen-Kuei/ip.git (master) completed! +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [264/479] Analyzing https://github.com/marioalvaro/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/marioalvaro/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/marioalvaro/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/et-irl/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/et-irl/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/et-irl/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [265/479] Analyzing https://github.com/Seonlo99/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Seonlo99/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Seonlo99/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [265/479] Analyzing https://github.com/joel-foo/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/marioalvaro/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/marioalvaro/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/marioalvaro/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [266/479] Analyzing https://github.com/joel-foo/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [266/479] Analyzing https://github.com/Seonlo99/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/joel-foo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/joel-foo/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Seonlo99/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Seonlo99/ip.git (master)... +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Seonlo99/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Seonlo99/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Seonlo99/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [267/479] Analyzing https://github.com/tim-pipi/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tim-pipi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tim-pipi/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tim-pipi/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tim-pipi/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tim-pipi/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [268/479] Analyzing https://github.com/marcellaantania/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/marcellaantania/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/marcellaantania/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/joel-foo/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/marcellaantania/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/joel-foo/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/joel-foo/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [269/479] Analyzing https://github.com/brendanneojw/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/marcellaantania/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/marcellaantania/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [270/479] Analyzing https://github.com/li-rongzhi/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/brendanneojw/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/brendanneojw/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/li-rongzhi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/li-rongzhi/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/marcellaantania/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/marcellaantania/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/marcellaantania/ip.git (master) completed! +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [270/479] Analyzing https://github.com/KamiliArsyad/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/KamiliArsyad/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/KamiliArsyad/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/brendanneojw/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/brendanneojw/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/brendanneojw/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [271/479] Analyzing https://github.com/KamiliArsyad/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/KamiliArsyad/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/KamiliArsyad/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [271/479] Analyzing https://github.com/li-rongzhi/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/li-rongzhi/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/li-rongzhi/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KamiliArsyad/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KamiliArsyad/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KamiliArsyad/ip.git (master) completed! -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [272/479] Analyzing https://github.com/seraphimstreets/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/seraphimstreets/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/seraphimstreets/ip.git (master)... -Aug 28, 2023 1:55:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/li-rongzhi/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/seraphimstreets/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/li-rongzhi/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/li-rongzhi/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [273/479] Analyzing https://github.com/trgao/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/seraphimstreets/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/seraphimstreets/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [274/479] Analyzing https://github.com/lilozz2/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/trgao/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/trgao/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [273/479] Analyzing https://github.com/lilozz2/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lilozz2/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lilozz2/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/trgao/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/li-rongzhi/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/li-rongzhi/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/li-rongzhi/ip.git (master) completed! +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [274/479] Analyzing https://github.com/trgao/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lilozz2/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/trgao/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lilozz2/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lilozz2/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/trgao/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [275/479] Analyzing https://github.com/jean-cq/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [276/479] Analyzing https://github.com/jedkohjk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/trgao/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/trgao/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jean-cq/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jean-cq/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jedkohjk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jedkohjk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/trgao/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jean-cq/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/trgao/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/trgao/ip.git (master) completed! +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [276/479] Analyzing https://github.com/yytan25/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jean-cq/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jean-cq/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [277/479] Analyzing https://github.com/yytan25/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jedkohjk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [277/479] Analyzing https://github.com/jedkohjk/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yytan25/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yytan25/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jedkohjk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jedkohjk/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [278/479] Analyzing https://github.com/ryantzr1/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ryantzr1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ryantzr1/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jedkohjk/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jedkohjk/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yytan25/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yytan25/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yytan25/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [278/479] Analyzing https://github.com/ryantzr1/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ryantzr1/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ryantzr1/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jedkohjk/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jedkohjk/ip.git (master)... +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jedkohjk/ip.git (master) completed! +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [279/479] Analyzing https://github.com/maypfv/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/maypfv/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/maypfv/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ryantzr1/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ryantzr1/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ryantzr1/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [280/479] Analyzing https://github.com/TohLiYuan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TohLiYuan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TohLiYuan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/maypfv/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/maypfv/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/maypfv/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [280/479] Analyzing https://github.com/TohLiYuan/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ryantzr1/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ryantzr1/ip.git (master) completed! +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [281/479] Analyzing https://github.com/JizhuoChen/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TohLiYuan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TohLiYuan/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JizhuoChen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JizhuoChen/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TohLiYuan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TohLiYuan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TohLiYuan/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [282/479] Analyzing https://github.com/ChongWeiJie29/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ChongWeiJie29/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ChongWeiJie29/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/JizhuoChen/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TohLiYuan/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JizhuoChen/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JizhuoChen/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TohLiYuan/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [282/479] Analyzing https://github.com/ChongWeiJie29/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TohLiYuan/ip.git (master) completed! +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [283/479] Analyzing https://github.com/Goh-Li-Ting/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Goh-Li-Ting/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Goh-Li-Ting/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ChongWeiJie29/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ChongWeiJie29/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ChongWeiJie29/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [284/479] Analyzing https://github.com/kristayeo/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kristayeo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kristayeo/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ChongWeiJie29/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ChongWeiJie29/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Goh-Li-Ting/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ChongWeiJie29/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Goh-Li-Ting/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Goh-Li-Ting/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [284/479] Analyzing https://github.com/kristayeo/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ChongWeiJie29/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ChongWeiJie29/ip.git (master) completed! +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [285/479] Analyzing https://github.com/derekjxtan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kristayeo/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kristayeo/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/derekjxtan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/derekjxtan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kristayeo/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kristayeo/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kristayeo/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [286/479] Analyzing https://github.com/shashahchk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shashahchk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shashahchk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/derekjxtan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/derekjxtan/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/derekjxtan/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [287/479] Analyzing https://github.com/Chandan8186/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [287/479] Analyzing https://github.com/alyssaongyx/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shashahchk/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shashahchk/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/alyssaongyx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/alyssaongyx/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/alyssaongyx/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/alyssaongyx/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/alyssaongyx/ip.git (master) completed! +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [288/479] Analyzing https://github.com/Chandan8186/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shashahchk/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chandan8186/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chandan8186/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shashahchk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/shashahchk/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shashahchk/ip.git (master) completed! -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [288/479] Analyzing https://github.com/alyssaongyx/ip.git (master)... -Aug 28, 2023 1:55:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/alyssaongyx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/alyssaongyx/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [289/479] Analyzing https://github.com/Kailash201/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kailash201/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kailash201/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chandan8186/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Kailash201/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Kailash201/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chandan8186/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chandan8186/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [289/479] Analyzing https://github.com/AndrewJanong/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/alyssaongyx/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/alyssaongyx/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/alyssaongyx/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Kailash201/ip.git (master) completed! +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [290/479] Analyzing https://github.com/AndrewJanong/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [291/479] Analyzing https://github.com/sk2001git/ip.git (master)... +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AndrewJanong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AndrewJanong/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [290/479] Analyzing https://github.com/Kailash201/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kailash201/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kailash201/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sk2001git/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sk2001git/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AndrewJanong/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Kailash201/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AndrewJanong/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AndrewJanong/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [291/479] Analyzing https://github.com/laurenlim2112/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Kailash201/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Kailash201/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [292/479] Analyzing https://github.com/lambraydon/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/laurenlim2112/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/laurenlim2112/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lambraydon/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lambraydon/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sk2001git/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lambraydon/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sk2001git/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lambraydon/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lambraydon/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [293/479] Analyzing https://github.com/sk2001git/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sk2001git/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sk2001git/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/laurenlim2112/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/laurenlim2112/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/laurenlim2112/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [294/479] Analyzing https://github.com/chonguschonguschongus/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [293/479] Analyzing https://github.com/chonguschonguschongus/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sk2001git/ip.git (master) completed! +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [294/479] Analyzing https://github.com/peasantbird/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chonguschonguschongus/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chonguschonguschongus/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sk2001git/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/peasantbird/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/peasantbird/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chonguschonguschongus/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chonguschonguschongus/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chonguschonguschongus/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [295/479] Analyzing https://github.com/lshaoqin/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sk2001git/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sk2001git/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [296/479] Analyzing https://github.com/peasantbird/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lshaoqin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lshaoqin/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/peasantbird/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/peasantbird/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lshaoqin/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lshaoqin/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lshaoqin/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [297/479] Analyzing https://github.com/WangCheng0116/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WangCheng0116/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WangCheng0116/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/peasantbird/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/peasantbird/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/peasantbird/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [298/479] Analyzing https://github.com/teozhengyang/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [296/479] Analyzing https://github.com/WangCheng0116/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WangCheng0116/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WangCheng0116/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lshaoqin/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lshaoqin/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lshaoqin/ip.git (master) completed! +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [297/479] Analyzing https://github.com/teozhengyang/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teozhengyang/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teozhengyang/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WangCheng0116/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WangCheng0116/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WangCheng0116/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [299/479] Analyzing https://github.com/chewjh1234/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [298/479] Analyzing https://github.com/chewjh1234/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chewjh1234/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chewjh1234/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/teozhengyang/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/teozhengyang/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/teozhengyang/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [300/479] Analyzing https://github.com/lynnlow175/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lynnlow175/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lynnlow175/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [299/479] Analyzing https://github.com/elaineshijie/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/elaineshijie/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/elaineshijie/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chewjh1234/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chewjh1234/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chewjh1234/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [301/479] Analyzing https://github.com/elaineshijie/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/elaineshijie/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/elaineshijie/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lynnlow175/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lynnlow175/ip.git (master)... -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lynnlow175/ip.git (master) completed! -Aug 28, 2023 1:55:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [302/479] Analyzing https://github.com/lordidiot/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [300/479] Analyzing https://github.com/laurenlim2112/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/laurenlim2112/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/laurenlim2112/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/elaineshijie/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/elaineshijie/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/elaineshijie/ip.git (master) completed! +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [301/479] Analyzing https://github.com/lordidiot/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lordidiot/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lordidiot/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lordidiot/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lordidiot/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lordidiot/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [302/479] Analyzing https://github.com/lynnlow175/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lynnlow175/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lynnlow175/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/laurenlim2112/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lynnlow175/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lynnlow175/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lynnlow175/ip.git (master) completed! +Aug 28, 2023 2:14:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/laurenlim2112/ip.git (master)... +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [303/479] Analyzing https://github.com/chew01/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/elaineshijie/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/elaineshijie/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/elaineshijie/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/laurenlim2112/ip.git (master) completed! +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [304/479] Analyzing https://github.com/RSXIX/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chew01/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chew01/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RSXIX/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RSXIX/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/RSXIX/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RSXIX/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RSXIX/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [305/479] Analyzing https://github.com/juliusgambe/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/juliusgambe/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/juliusgambe/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chew01/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chew01/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chew01/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/juliusgambe/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/juliusgambe/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [306/479] Analyzing https://github.com/zhonghan721/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zhonghan721/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zhonghan721/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/juliusgambe/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/juliusgambe/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/juliusgambe/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [307/479] Analyzing https://github.com/WZWren/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WZWren/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WZWren/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zhonghan721/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zhonghan721/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zhonghan721/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [308/479] Analyzing https://github.com/wasjoe1/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wasjoe1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wasjoe1/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [308/479] Analyzing https://github.com/inezkok/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/inezkok/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/inezkok/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WZWren/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WZWren/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WZWren/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [309/479] Analyzing https://github.com/inezkok/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/inezkok/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/inezkok/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [309/479] Analyzing https://github.com/wasjoe1/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wasjoe1/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wasjoe1/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wasjoe1/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wasjoe1/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wasjoe1/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [310/479] Analyzing https://github.com/kokrui/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kokrui/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kokrui/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/inezkok/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/inezkok/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/inezkok/ip.git (master) completed! +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [311/479] Analyzing https://github.com/jinyang628/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kokrui/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kokrui/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kokrui/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [311/479] Analyzing https://github.com/jinyang628/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [312/479] Analyzing https://github.com/nananakx-x/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jinyang628/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jinyang628/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/inezkok/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/inezkok/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/inezkok/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [312/479] Analyzing https://github.com/ylyma/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nananakx-x/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nananakx-x/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nananakx-x/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nananakx-x/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nananakx-x/ip.git (master) completed! +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [313/479] Analyzing https://github.com/ylyma/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ylyma/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ylyma/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jinyang628/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ylyma/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jinyang628/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ylyma/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jinyang628/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ylyma/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [313/479] Analyzing https://github.com/nananakx-x/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [314/479] Analyzing https://github.com/AnnabelTing/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nananakx-x/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nananakx-x/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AnnabelTing/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AnnabelTing/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ylyma/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ylyma/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ylyma/ip.git (master) completed! +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [315/479] Analyzing https://github.com/LicongHuang/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AnnabelTing/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LicongHuang/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LicongHuang/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AnnabelTing/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AnnabelTing/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [315/479] Analyzing https://github.com/Jweng88/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nananakx-x/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [316/479] Analyzing https://github.com/Jweng88/ip.git (master)... +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Jweng88/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Jweng88/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nananakx-x/ip.git (master)... -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nananakx-x/ip.git (master) completed! -Aug 28, 2023 1:55:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [316/479] Analyzing https://github.com/LicongHuang/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LicongHuang/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LicongHuang/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LicongHuang/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LicongHuang/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LicongHuang/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [317/479] Analyzing https://github.com/timetraveller-123/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/timetraveller-123/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/timetraveller-123/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/timetraveller-123/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Jweng88/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/timetraveller-123/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/timetraveller-123/ip.git (master) completed! +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [318/479] Analyzing https://github.com/EricXiong420/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Jweng88/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Jweng88/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [318/479] Analyzing https://github.com/EricXiong420/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [319/479] Analyzing https://github.com/bhnuka/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/EricXiong420/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/EricXiong420/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/timetraveller-123/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/timetraveller-123/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/timetraveller-123/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [319/479] Analyzing https://github.com/bhnuka/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/bhnuka/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/bhnuka/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/bhnuka/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/bhnuka/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/bhnuka/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [320/479] Analyzing https://github.com/jovkusuma/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jovkusuma/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jovkusuma/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/EricXiong420/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/EricXiong420/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jovkusuma/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/EricXiong420/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [321/479] Analyzing https://github.com/J-hta-n/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/J-hta-n/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/J-hta-n/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jovkusuma/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jovkusuma/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jovkusuma/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [322/479] Analyzing https://github.com/Tim-Siu/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/J-hta-n/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/J-hta-n/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Tim-Siu/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Tim-Siu/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/J-hta-n/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Tim-Siu/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/J-hta-n/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/J-hta-n/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [323/479] Analyzing https://github.com/yarnmengnus/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yarnmengnus/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yarnmengnus/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Tim-Siu/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Tim-Siu/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Tim-Siu/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [324/479] Analyzing https://github.com/sopa301/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [324/479] Analyzing https://github.com/ngeeyonglim/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yarnmengnus/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yarnmengnus/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ngeeyonglim/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ngeeyonglim/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yarnmengnus/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yarnmengnus/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sopa301/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yarnmengnus/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sopa301/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [325/479] Analyzing https://github.com/ngeeyonglim/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ngeeyonglim/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ngeeyonglim/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [325/479] Analyzing https://github.com/flexibo/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ngeeyonglim/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ngeeyonglim/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ngeeyonglim/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [326/479] Analyzing https://github.com/flexibo/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/flexibo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/flexibo/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sopa301/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ngeeyonglim/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ngeeyonglim/ip.git (master) completed! +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [326/479] Analyzing https://github.com/sopa301/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sopa301/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sopa301/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/flexibo/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sopa301/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/flexibo/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/flexibo/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [327/479] Analyzing https://github.com/ItsTYtan/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sopa301/ip.git (master) completed! -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [328/479] Analyzing https://github.com/amosting/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ItsTYtan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ItsTYtan/ip.git (master)... -Aug 28, 2023 1:55:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/amosting/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/amosting/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/amosting/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/amosting/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/amosting/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [329/479] Analyzing https://github.com/javinchua/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sopa301/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sopa301/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sopa301/ip.git (master) completed! +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [328/479] Analyzing https://github.com/javinchua/ip.git (master)... +Aug 28, 2023 2:14:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/javinchua/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/javinchua/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ItsTYtan/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ItsTYtan/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ItsTYtan/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [330/479] Analyzing https://github.com/Cleon2/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Cleon2/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Cleon2/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [329/479] Analyzing https://github.com/amosting/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/amosting/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/amosting/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/javinchua/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/javinchua/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/javinchua/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [330/479] Analyzing https://github.com/Cleon2/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Cleon2/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Cleon2/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/amosting/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/amosting/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/amosting/ip.git (master) completed! +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [331/479] Analyzing https://github.com/ketweeen/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ketweeen/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ketweeen/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Cleon2/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Cleon2/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Cleon2/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [332/479] Analyzing https://github.com/sudarshan2401/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sudarshan2401/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sudarshan2401/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ketweeen/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [332/479] Analyzing https://github.com/sudarshan2401/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ketweeen/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ketweeen/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [333/479] Analyzing https://github.com/wui-hong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sudarshan2401/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sudarshan2401/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wui-hong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wui-hong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sudarshan2401/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sudarshan2401/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sudarshan2401/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [334/479] Analyzing https://github.com/Respirayson/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Respirayson/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Respirayson/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wui-hong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wui-hong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wui-hong/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [334/479] Analyzing https://github.com/Respirayson/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sudarshan2401/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Respirayson/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Respirayson/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sudarshan2401/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sudarshan2401/ip.git (master) completed! +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [335/479] Analyzing https://github.com/Chrainx/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chrainx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chrainx/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Respirayson/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Respirayson/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Chrainx/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Respirayson/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [336/479] Analyzing https://github.com/shishirbychapur/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shishirbychapur/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shishirbychapur/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Chrainx/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chrainx/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chrainx/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [337/479] Analyzing https://github.com/sunzihan23/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/sunzihan23/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/sunzihan23/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shishirbychapur/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shishirbychapur/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sunzihan23/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sunzihan23/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sunzihan23/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [338/479] Analyzing https://github.com/wj331/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wj331/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wj331/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/shishirbychapur/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/shishirbychapur/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shishirbychapur/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [339/479] Analyzing https://github.com/tjch-o/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tjch-o/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tjch-o/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wj331/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wj331/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wj331/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tjch-o/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tjch-o/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [340/479] Analyzing https://github.com/mamayuan/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mamayuan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mamayuan/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mamayuan/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mamayuan/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mamayuan/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [341/479] Analyzing https://github.com/licongshen12/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/licongshen12/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/licongshen12/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [341/479] Analyzing https://github.com/ong-wei-hong/ip.git (master)... +Aug 28, 2023 2:14:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ong-wei-hong/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ong-wei-hong/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tjch-o/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/licongshen12/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tjch-o/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tjch-o/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [342/479] Analyzing https://github.com/ong-wei-hong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/licongshen12/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/licongshen12/ip.git (master) completed! -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [342/479] Analyzing https://github.com/licongshen12/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/licongshen12/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/licongshen12/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ong-wei-hong/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ong-wei-hong/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ong-wei-hong/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos INFO: [343/479] Analyzing https://github.com/tanboonkhong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ong-wei-hong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ong-wei-hong/ip.git (master)... -Aug 28, 2023 1:55:42 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tanboonkhong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tanboonkhong/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanboonkhong/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tanboonkhong/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanboonkhong/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/licongshen12/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/licongshen12/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/licongshen12/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos INFO: [344/479] Analyzing https://github.com/cbj252/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cbj252/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cbj252/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ong-wei-hong/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ong-wei-hong/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ong-wei-hong/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [345/479] Analyzing https://github.com/AlfredBeNoel/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanboonkhong/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tanboonkhong/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanboonkhong/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [345/479] Analyzing https://github.com/keaganpzh/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/keaganpzh/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/keaganpzh/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cbj252/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cbj252/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cbj252/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [346/479] Analyzing https://github.com/AlfredBeNoel/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AlfredBeNoel/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AlfredBeNoel/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlfredBeNoel/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlfredBeNoel/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlfredBeNoel/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [346/479] Analyzing https://github.com/keaganpzh/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cbj252/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/keaganpzh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/keaganpzh/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cbj252/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cbj252/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/keaganpzh/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos INFO: [347/479] Analyzing https://github.com/ElginTZM/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/keaganpzh/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/keaganpzh/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [348/479] Analyzing https://github.com/LimJH2002/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ElginTZM/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ElginTZM/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LimJH2002/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LimJH2002/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ElginTZM/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ElginTZM/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LimJH2002/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ElginTZM/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [348/479] Analyzing https://github.com/cmHuang777/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/cmHuang777/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/cmHuang777/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cmHuang777/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/keaganpzh/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cmHuang777/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cmHuang777/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [349/479] Analyzing https://github.com/LimJH2002/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/keaganpzh/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/keaganpzh/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [349/479] Analyzing https://github.com/cmHuang777/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LimJH2002/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LimJH2002/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos INFO: [350/479] Analyzing https://github.com/WeeeHung/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LimJH2002/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LimJH2002/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/cmHuang777/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/cmHuang777/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WeeeHung/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WeeeHung/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WeeeHung/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WeeeHung/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WeeeHung/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos INFO: [351/479] Analyzing https://github.com/xxiaoweii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cmHuang777/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xxiaoweii/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xxiaoweii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LimJH2002/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LimJH2002/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LimJH2002/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [352/479] Analyzing https://github.com/dhruvir29/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dhruvir29/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dhruvir29/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cmHuang777/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cmHuang777/ip.git (master) completed! +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [352/479] Analyzing https://github.com/rayyan35p/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/rayyan35p/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/rayyan35p/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xxiaoweii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xxiaoweii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xxiaoweii/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [353/479] Analyzing https://github.com/rayyan35p/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dhruvir29/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/rayyan35p/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/rayyan35p/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dhruvir29/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dhruvir29/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [354/479] Analyzing https://github.com/LinWanLeii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LinWanLeii/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LinWanLeii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [353/479] Analyzing https://github.com/LinWanLeii/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rayyan35p/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rayyan35p/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rayyan35p/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [355/479] Analyzing https://github.com/Song-Mengfei/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [354/479] Analyzing https://github.com/dhruvir29/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LinWanLeii/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LinWanLeii/ip.git (master)... +Aug 28, 2023 2:14:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dhruvir29/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dhruvir29/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LinWanLeii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LinWanLeii/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LinWanLeii/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [355/479] Analyzing https://github.com/Song-Mengfei/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dhruvir29/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dhruvir29/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dhruvir29/ip.git (master) completed! +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [356/479] Analyzing https://github.com/jinyuan0425/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Song-Mengfei/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Song-Mengfei/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jinyuan0425/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jinyuan0425/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Song-Mengfei/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jinyuan0425/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Song-Mengfei/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Song-Mengfei/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [357/479] Analyzing https://github.com/tiif/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jinyuan0425/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jinyuan0425/ip.git (master) completed! -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [358/479] Analyzing https://github.com/nicholascher/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tiif/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tiif/ip.git (master)... -Aug 28, 2023 1:55:43 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicholascher/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicholascher/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tiif/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicholascher/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tiif/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tiif/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [359/479] Analyzing https://github.com/hcs1203/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicholascher/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/hcs1203/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/hcs1203/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicholascher/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicholascher/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [360/479] Analyzing https://github.com/KamJiaYue/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/hcs1203/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/hcs1203/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/hcs1203/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/KamJiaYue/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/KamJiaYue/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/hcs1203/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/hcs1203/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/hcs1203/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [361/479] Analyzing https://github.com/NereusWB922/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/NereusWB922/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/NereusWB922/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/NereusWB922/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KamJiaYue/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/NereusWB922/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/NereusWB922/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [362/479] Analyzing https://github.com/ivyy-poison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KamJiaYue/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KamJiaYue/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [363/479] Analyzing https://github.com/PohSayKeong/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [362/479] Analyzing https://github.com/PohSayKeong/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/NereusWB922/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/PohSayKeong/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/PohSayKeong/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/NereusWB922/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/NereusWB922/ip.git (master) completed! +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [363/479] Analyzing https://github.com/ivyy-poison/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ivyy-poison/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ivyy-poison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ivyy-poison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/PohSayKeong/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ivyy-poison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ivyy-poison/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [364/479] Analyzing https://github.com/jacobcuison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jacobcuison/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jacobcuison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/PohSayKeong/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/PohSayKeong/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/PohSayKeong/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [365/479] Analyzing https://github.com/ji-just-ji/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ji-just-ji/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ji-just-ji/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [365/479] Analyzing https://github.com/kohkaijie/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jacobcuison/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jacobcuison/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kohkaijie/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kohkaijie/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jacobcuison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kohkaijie/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jacobcuison/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jacobcuison/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [366/479] Analyzing https://github.com/rocketninja7/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [366/479] Analyzing https://github.com/ji-just-ji/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kohkaijie/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kohkaijie/ip.git (master) completed! +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [367/479] Analyzing https://github.com/rocketninja7/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ji-just-ji/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ji-just-ji/ip.git (master)... +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/rocketninja7/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/rocketninja7/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rocketninja7/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rocketninja7/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rocketninja7/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [367/479] Analyzing https://github.com/kohkaijie/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kohkaijie/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kohkaijie/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ji-just-ji/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ji-just-ji/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ji-just-ji/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator analyzeRepos INFO: [368/479] Analyzing https://github.com/zekone/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zekone/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zekone/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kohkaijie/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kohkaijie/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kohkaijie/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [369/479] Analyzing https://github.com/markgcera/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/markgcera/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/markgcera/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ji-just-ji/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ji-just-ji/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ji-just-ji/ip.git (master) completed! +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [369/479] Analyzing https://github.com/PearlynnT/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/PearlynnT/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/PearlynnT/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zekone/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zekone/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zekone/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [370/479] Analyzing https://github.com/StevenLiudw/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [370/479] Analyzing https://github.com/markgcera/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/markgcera/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/markgcera/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/markgcera/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/PearlynnT/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/markgcera/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/markgcera/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/StevenLiudw/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/StevenLiudw/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [371/479] Analyzing https://github.com/PearlynnT/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/PearlynnT/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/PearlynnT/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/PearlynnT/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/PearlynnT/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/PearlynnT/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [371/479] Analyzing https://github.com/StevenLiudw/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [372/479] Analyzing https://github.com/TeeRenJing/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TeeRenJing/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TeeRenJing/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/StevenLiudw/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/StevenLiudw/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/StevenLiudw/ip.git (master) completed! -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/StevenLiudw/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/StevenLiudw/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TeeRenJing/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TeeRenJing/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TeeRenJing/ip.git (master) completed! +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [373/479] Analyzing https://github.com/mounilsankar/ip.git (master)... -Aug 28, 2023 1:55:44 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mounilsankar/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mounilsankar/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/mounilsankar/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/mounilsankar/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/mounilsankar/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/StevenLiudw/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/StevenLiudw/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/StevenLiudw/ip.git (master) completed! +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [374/479] Analyzing https://github.com/dloh2236/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TeeRenJing/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dloh2236/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dloh2236/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TeeRenJing/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TeeRenJing/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/mounilsankar/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/mounilsankar/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/mounilsankar/ip.git (master) completed! +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [375/479] Analyzing https://github.com/zannloo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dloh2236/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zannloo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zannloo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dloh2236/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dloh2236/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dloh2236/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [376/479] Analyzing https://github.com/junnengsoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/junnengsoo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/junnengsoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/junnengsoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zannloo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/junnengsoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/junnengsoo/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [377/479] Analyzing https://github.com/freshcabbage123/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zannloo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zannloo/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/freshcabbage123/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/freshcabbage123/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [378/479] Analyzing https://github.com/Kokseng1/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [377/479] Analyzing https://github.com/Kokseng1/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kokseng1/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kokseng1/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zannloo/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zannloo/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zannloo/ip.git (master) completed! +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [378/479] Analyzing https://github.com/freshcabbage123/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kokseng1/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kokseng1/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kokseng1/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [379/479] Analyzing https://github.com/itsNatTan/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/freshcabbage123/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/freshcabbage123/ip.git (master)... +Aug 28, 2023 2:14:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/itsNatTan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/itsNatTan/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/freshcabbage123/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/itsNatTan/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/freshcabbage123/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/itsNatTan/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/freshcabbage123/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/itsNatTan/ip.git (master) completed! +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos INFO: [380/479] Analyzing https://github.com/tjingsheng/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [381/479] Analyzing https://github.com/ZD292/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ZD292/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ZD292/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tjingsheng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tjingsheng/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/itsNatTan/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/itsNatTan/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/itsNatTan/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tjingsheng/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [381/479] Analyzing https://github.com/ZD292/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ZD292/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tjingsheng/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tjingsheng/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [382/479] Analyzing https://github.com/frrrrry/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ZD292/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ZD292/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/frrrrry/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/frrrrry/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ZD292/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ZD292/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [382/479] Analyzing https://github.com/alientian/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ZD292/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [383/479] Analyzing https://github.com/alientian/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [383/479] Analyzing https://github.com/frrrrry/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/frrrrry/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/frrrrry/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/alientian/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/alientian/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/frrrrry/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/frrrrry/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/frrrrry/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos INFO: [384/479] Analyzing https://github.com/wanghejin/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wanghejin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wanghejin/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alientian/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alientian/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alientian/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos INFO: [385/479] Analyzing https://github.com/MagnificentCreature/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wanghejin/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wanghejin/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/MagnificentCreature/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/MagnificentCreature/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/MagnificentCreature/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/MagnificentCreature/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/MagnificentCreature/ip.git (master) completed! +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wanghejin/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [386/479] Analyzing https://github.com/SungMatt/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wanghejin/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wanghejin/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [386/479] Analyzing https://github.com/SungMatt/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [387/479] Analyzing https://github.com/andrefoo/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SungMatt/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SungMatt/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/MagnificentCreature/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/MagnificentCreature/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/MagnificentCreature/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [387/479] Analyzing https://github.com/andrefoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/andrefoo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/andrefoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SungMatt/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/andrefoo/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SungMatt/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SungMatt/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos INFO: [388/479] Analyzing https://github.com/tohpinren/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tohpinren/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tohpinren/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/andrefoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/andrefoo/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/andrefoo/ip.git (master) completed! -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos INFO: [389/479] Analyzing https://github.com/XihuaZ/ip.git (master)... -Aug 28, 2023 1:55:45 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tohpinren/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tohpinren/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/XihuaZ/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/XihuaZ/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/XihuaZ/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/XihuaZ/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/XihuaZ/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [390/479] Analyzing https://github.com/xavierpok/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [390/479] Analyzing https://github.com/bkjwjason/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bkjwjason/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bkjwjason/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tohpinren/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/xavierpok/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/xavierpok/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tohpinren/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tohpinren/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [391/479] Analyzing https://github.com/bkjwjason/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bkjwjason/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bkjwjason/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [391/479] Analyzing https://github.com/xavierpok/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/bkjwjason/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/xavierpok/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/xavierpok/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/bkjwjason/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/bkjwjason/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [392/479] Analyzing https://github.com/aarontxz/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [392/479] Analyzing https://github.com/Choonyan02/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Choonyan02/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Choonyan02/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Choonyan02/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Choonyan02/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Choonyan02/ip.git (master) completed! +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [393/479] Analyzing https://github.com/aarontxz/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/aarontxz/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/aarontxz/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/aarontxz/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/aarontxz/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/aarontxz/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [393/479] Analyzing https://github.com/Choonyan02/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [394/479] Analyzing https://github.com/tayian/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xavierpok/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Choonyan02/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Choonyan02/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tayian/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tayian/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xavierpok/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xavierpok/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [394/479] Analyzing https://github.com/jianyangg/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [395/479] Analyzing https://github.com/jianyangg/ip.git (master)... +Aug 28, 2023 2:14:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jianyangg/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jianyangg/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tayian/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tayian/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tayian/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [396/479] Analyzing https://github.com/wnchan/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jianyangg/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Choonyan02/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jianyangg/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jianyangg/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [395/479] Analyzing https://github.com/wnchan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Choonyan02/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Choonyan02/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [396/479] Analyzing https://github.com/tayian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wnchan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wnchan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tayian/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tayian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wnchan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tayian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wnchan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wnchan/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [397/479] Analyzing https://github.com/Jweewee/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tayian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tayian/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [398/479] Analyzing https://github.com/cyaoxuan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Jweewee/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Jweewee/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/cyaoxuan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/cyaoxuan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wnchan/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Jweewee/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cyaoxuan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wnchan/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wnchan/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Jweewee/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [398/479] Analyzing https://github.com/anthonytamzil/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Jweewee/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [399/479] Analyzing https://github.com/CelestineTan03/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [399/479] Analyzing https://github.com/cyaoxuan/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/anthonytamzil/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/anthonytamzil/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/cyaoxuan/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/cyaoxuan/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cyaoxuan/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cyaoxuan/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cyaoxuan/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [400/479] Analyzing https://github.com/anthonytamzil/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/anthonytamzil/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [400/479] Analyzing https://github.com/CelestineTan03/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/anthonytamzil/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/anthonytamzil/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [401/479] Analyzing https://github.com/AlagappanRa/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CelestineTan03/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CelestineTan03/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/anthonytamzil/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/anthonytamzil/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AlagappanRa/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AlagappanRa/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CelestineTan03/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/anthonytamzil/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AlagappanRa/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CelestineTan03/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CelestineTan03/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [401/479] Analyzing https://github.com/saltedfishxx/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/anthonytamzil/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/anthonytamzil/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [402/479] Analyzing https://github.com/euchangxian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/saltedfishxx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/saltedfishxx/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AlagappanRa/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AlagappanRa/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [403/479] Analyzing https://github.com/saltedfishxx/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/euchangxian/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/euchangxian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/saltedfishxx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/saltedfishxx/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/euchangxian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/saltedfishxx/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/euchangxian/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/euchangxian/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [403/479] Analyzing https://github.com/AlagappanRa/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AlagappanRa/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AlagappanRa/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/saltedfishxx/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/saltedfishxx/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [404/479] Analyzing https://github.com/Ken-Lai/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Ken-Lai/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Ken-Lai/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AlagappanRa/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AlagappanRa/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AlagappanRa/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Ken-Lai/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/saltedfishxx/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/saltedfishxx/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/saltedfishxx/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [405/479] Analyzing https://github.com/itssisi/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/itssisi/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/itssisi/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Ken-Lai/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Ken-Lai/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Ken-Lai/ip.git (master) completed! -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [406/479] Analyzing https://github.com/jamz903/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/itssisi/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/itssisi/ip.git (master)... -Aug 28, 2023 1:55:46 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jamz903/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jamz903/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/itssisi/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/itssisi/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jamz903/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/itssisi/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [407/479] Analyzing https://github.com/Kevin-Liusx/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jamz903/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jamz903/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [408/479] Analyzing https://github.com/ChuanXinNg/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kevin-Liusx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kevin-Liusx/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ChuanXinNg/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ChuanXinNg/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kevin-Liusx/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kevin-Liusx/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kevin-Liusx/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [408/479] Analyzing https://github.com/ChuanXinNg/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jamz903/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ChuanXinNg/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ChuanXinNg/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jamz903/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jamz903/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [409/479] Analyzing https://github.com/kenvynKwek/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kenvynKwek/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kenvynKwek/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ChuanXinNg/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ChuanXinNg/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ChuanXinNg/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [410/479] Analyzing https://github.com/Ruizhi2001/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Ruizhi2001/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Ruizhi2001/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [410/479] Analyzing https://github.com/prawnzyy/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kenvynKwek/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kenvynKwek/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kenvynKwek/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [411/479] Analyzing https://github.com/prawnzyy/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/prawnzyy/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/prawnzyy/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kenvynKwek/ip.git (master)... +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kenvynKwek/ip.git (master) completed! +Aug 28, 2023 2:14:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [411/479] Analyzing https://github.com/Ruizhi2001/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Ruizhi2001/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Ruizhi2001/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Ruizhi2001/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Ruizhi2001/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Ruizhi2001/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [412/479] Analyzing https://github.com/saraozn/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/saraozn/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/saraozn/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/saraozn/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/saraozn/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/saraozn/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [413/479] Analyzing https://github.com/nicholastng010601/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nicholastng010601/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nicholastng010601/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/prawnzyy/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/saraozn/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/saraozn/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/saraozn/ip.git (master) completed! +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/prawnzyy/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [413/479] Analyzing https://github.com/nicholastng010601/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/prawnzyy/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [414/479] Analyzing https://github.com/DistractedCat/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nicholastng010601/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nicholastng010601/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/DistractedCat/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/DistractedCat/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicholastng010601/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicholastng010601/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicholastng010601/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [415/479] Analyzing https://github.com/yezkez10/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yezkez10/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yezkez10/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/DistractedCat/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/DistractedCat/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/DistractedCat/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [416/479] Analyzing https://github.com/revdrag/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/revdrag/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/revdrag/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yezkez10/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yezkez10/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yezkez10/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [417/479] Analyzing https://github.com/JasonRay168/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JasonRay168/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JasonRay168/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [417/479] Analyzing https://github.com/alvinlim277/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/revdrag/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/revdrag/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/revdrag/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [418/479] Analyzing https://github.com/alvinlim277/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/alvinlim277/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/alvinlim277/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/revdrag/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/revdrag/ip.git (master) completed! +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [418/479] Analyzing https://github.com/JasonRay168/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JasonRay168/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JasonRay168/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/JasonRay168/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JasonRay168/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JasonRay168/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [419/479] Analyzing https://github.com/billieboy7/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/billieboy7/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/billieboy7/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alvinlim277/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alvinlim277/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alvinlim277/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [420/479] Analyzing https://github.com/evanyan13/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/evanyan13/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/evanyan13/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [420/479] Analyzing https://github.com/jannnice/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jannnice/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jannnice/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/billieboy7/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/billieboy7/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/billieboy7/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [421/479] Analyzing https://github.com/jannnice/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jannnice/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jannnice/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [421/479] Analyzing https://github.com/evanyan13/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/evanyan13/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/evanyan13/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jannnice/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/evanyan13/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jannnice/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jannnice/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [422/479] Analyzing https://github.com/samuelim01/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/samuelim01/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/samuelim01/ip.git (master)... +Aug 28, 2023 2:14:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/evanyan13/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/evanyan13/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/evanyan13/ip.git (master) completed! -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [423/479] Analyzing https://github.com/dinde2004/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/samuelim01/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/samuelim01/ip.git (master)... -Aug 28, 2023 1:55:47 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dinde2004/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dinde2004/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dinde2004/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dinde2004/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dinde2004/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [424/479] Analyzing https://github.com/seanpzk/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seanpzk/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seanpzk/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/samuelim01/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [424/479] Analyzing https://github.com/seanpzk/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/samuelim01/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/samuelim01/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [425/479] Analyzing https://github.com/lsyurea/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seanpzk/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seanpzk/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lsyurea/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lsyurea/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/seanpzk/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/seanpzk/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/seanpzk/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [426/479] Analyzing https://github.com/KumChaiYin/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lsyurea/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/KumChaiYin/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/KumChaiYin/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lsyurea/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lsyurea/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [426/479] Analyzing https://github.com/KumChaiYin/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/KumChaiYin/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/KumChaiYin/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/seanpzk/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/seanpzk/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/seanpzk/ip.git (master) completed! +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [427/479] Analyzing https://github.com/Sasmik23/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Sasmik23/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Sasmik23/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KumChaiYin/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KumChaiYin/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KumChaiYin/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [428/479] Analyzing https://github.com/geraldngjx/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [428/479] Analyzing https://github.com/garylow2001/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/garylow2001/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/garylow2001/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Sasmik23/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Sasmik23/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Sasmik23/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [429/479] Analyzing https://github.com/leontan2/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/geraldngjx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/geraldngjx/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/leontan2/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/leontan2/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/leontan2/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/leontan2/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/leontan2/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [430/479] Analyzing https://github.com/lululwtv/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [429/479] Analyzing https://github.com/lululwtv/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lululwtv/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lululwtv/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/geraldngjx/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/geraldngjx/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/geraldngjx/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [431/479] Analyzing https://github.com/garylow2001/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/garylow2001/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/garylow2001/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/garylow2001/ip.git (master) completed! +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [430/479] Analyzing https://github.com/leontan2/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/leontan2/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/leontan2/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lululwtv/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/garylow2001/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/garylow2001/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lululwtv/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lululwtv/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [431/479] Analyzing https://github.com/geraldngjx/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/leontan2/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/geraldngjx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/geraldngjx/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/leontan2/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/leontan2/ip.git (master) completed! +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [432/479] Analyzing https://github.com/wamps-jp/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wamps-jp/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wamps-jp/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wamps-jp/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wamps-jp/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wamps-jp/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [433/479] Analyzing https://github.com/dickongwd/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/garylow2001/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dickongwd/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dickongwd/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/garylow2001/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/garylow2001/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [434/479] Analyzing https://github.com/suryanshkushwaha/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/geraldngjx/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dickongwd/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/geraldngjx/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/geraldngjx/ip.git (master) completed! +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dickongwd/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dickongwd/ip.git (master) completed! +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [434/479] Analyzing https://github.com/jacksonyuan256/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [435/479] Analyzing https://github.com/suryanshkushwaha/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jacksonyuan256/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jacksonyuan256/ip.git (master)... +Aug 28, 2023 2:14:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/suryanshkushwaha/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/suryanshkushwaha/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/suryanshkushwaha/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dickongwd/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/suryanshkushwaha/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/suryanshkushwaha/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [435/479] Analyzing https://github.com/jacksonyuan256/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dickongwd/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dickongwd/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [436/479] Analyzing https://github.com/wr1159/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jacksonyuan256/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jacksonyuan256/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jacksonyuan256/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wr1159/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wr1159/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jacksonyuan256/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wr1159/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jacksonyuan256/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jacksonyuan256/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [437/479] Analyzing https://github.com/Nauxe/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Nauxe/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Nauxe/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wr1159/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wr1159/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wr1159/ip.git (master) completed! -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [438/479] Analyzing https://github.com/yyyaohhh/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Nauxe/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Nauxe/ip.git (master)... -Aug 28, 2023 1:55:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yyyaohhh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yyyaohhh/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Nauxe/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yyyaohhh/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yyyaohhh/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yyyaohhh/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [439/479] Analyzing https://github.com/zhanyang01/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Nauxe/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Nauxe/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [440/479] Analyzing https://github.com/czhiruo/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhanyang01/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhanyang01/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yyyaohhh/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yyyaohhh/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [439/479] Analyzing https://github.com/czhiruo/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/czhiruo/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/czhiruo/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yyyaohhh/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yyyaohhh/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yyyaohhh/ip.git (master) completed! +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [440/479] Analyzing https://github.com/victorpengmx/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/czhiruo/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhanyang01/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/victorpengmx/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/victorpengmx/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/czhiruo/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/czhiruo/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [441/479] Analyzing https://github.com/longnguyentan/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhanyang01/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhanyang01/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [442/479] Analyzing https://github.com/victorpengmx/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/longnguyentan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/longnguyentan/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/victorpengmx/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/victorpengmx/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/victorpengmx/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/longnguyentan/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/victorpengmx/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/victorpengmx/ip.git (master) completed! +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [442/479] Analyzing https://github.com/Cikguseven/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/longnguyentan/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/longnguyentan/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [443/479] Analyzing https://github.com/Cikguseven/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/victorpengmx/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [443/479] Analyzing https://github.com/Eola-Z/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Cikguseven/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Cikguseven/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/victorpengmx/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/victorpengmx/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [444/479] Analyzing https://github.com/Eola-Z/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Eola-Z/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Eola-Z/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Eola-Z/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Cikguseven/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Eola-Z/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Cikguseven/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Cikguseven/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Eola-Z/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [444/479] Analyzing https://github.com/jibtaf/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Cikguseven/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Cikguseven/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [445/479] Analyzing https://github.com/lipwei1808/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [446/479] Analyzing https://github.com/Mohammed-Faizzzz/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jibtaf/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jibtaf/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lipwei1808/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lipwei1808/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jibtaf/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jibtaf/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jibtaf/ip.git (master) completed! +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [446/479] Analyzing https://github.com/Mohammed-Faizzzz/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lipwei1808/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Mohammed-Faizzzz/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Mohammed-Faizzzz/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Mohammed-Faizzzz/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [447/479] Analyzing https://github.com/jibtaf/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jibtaf/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jibtaf/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lipwei1808/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lipwei1808/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lipwei1808/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [448/479] Analyzing https://github.com/dylkaw/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [447/479] Analyzing https://github.com/dylkaw/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dylkaw/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dylkaw/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jibtaf/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jibtaf/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jibtaf/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [449/479] Analyzing https://github.com/nikele2001/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nikele2001/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nikele2001/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Mohammed-Faizzzz/ip.git (master) completed! +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [448/479] Analyzing https://github.com/zhanyang01/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhanyang01/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhanyang01/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dylkaw/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dylkaw/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dylkaw/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [450/479] Analyzing https://github.com/DeltonCheng/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/DeltonCheng/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/DeltonCheng/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/DeltonCheng/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/DeltonCheng/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/DeltonCheng/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [451/479] Analyzing https://github.com/ChangruHenryQian/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [449/479] Analyzing https://github.com/ChangruHenryQian/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ChangruHenryQian/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ChangruHenryQian/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhanyang01/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhanyang01/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhanyang01/ip.git (master) completed! +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [450/479] Analyzing https://github.com/craigtonlian/ip.git (master)... +Aug 28, 2023 2:14:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/craigtonlian/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/craigtonlian/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ChangruHenryQian/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ChangruHenryQian/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ChangruHenryQian/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [452/479] Analyzing https://github.com/craigtonlian/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/craigtonlian/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/craigtonlian/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nikele2001/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nikele2001/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nikele2001/ip.git (master) completed! -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [453/479] Analyzing https://github.com/ruo-x/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruo-x/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruo-x/ip.git (master)... -Aug 28, 2023 1:55:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [451/479] Analyzing https://github.com/nikele2001/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nikele2001/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nikele2001/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/craigtonlian/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/craigtonlian/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/craigtonlian/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [454/479] Analyzing https://github.com/wjacobw/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wjacobw/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wjacobw/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [452/479] Analyzing https://github.com/DeltonCheng/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/DeltonCheng/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/DeltonCheng/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/DeltonCheng/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/DeltonCheng/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/DeltonCheng/ip.git (master) completed! +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [453/479] Analyzing https://github.com/ruo-x/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruo-x/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruo-x/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nikele2001/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nikele2001/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nikele2001/ip.git (master) completed! +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [454/479] Analyzing https://github.com/iantsaii/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/iantsaii/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/iantsaii/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ruo-x/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wjacobw/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ruo-x/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ruo-x/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [455/479] Analyzing https://github.com/angkyakdifp/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wjacobw/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wjacobw/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [456/479] Analyzing https://github.com/iantsaii/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [455/479] Analyzing https://github.com/wjacobw/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wjacobw/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wjacobw/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/iantsaii/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/iantsaii/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/iantsaii/ip.git (master) completed! +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [456/479] Analyzing https://github.com/angkyakdifp/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/angkyakdifp/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/angkyakdifp/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/iantsaii/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/iantsaii/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wjacobw/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wjacobw/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wjacobw/ip.git (master) completed! +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [457/479] Analyzing https://github.com/brein62/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/brein62/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/brein62/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/angkyakdifp/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/angkyakdifp/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/angkyakdifp/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/iantsaii/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [457/479] Analyzing https://github.com/brein62/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/iantsaii/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/iantsaii/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos INFO: [458/479] Analyzing https://github.com/nicrandomlee/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/brein62/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/brein62/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicrandomlee/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicrandomlee/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/brein62/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicrandomlee/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/brein62/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/brein62/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos INFO: [459/479] Analyzing https://github.com/kiatkat/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kiatkat/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kiatkat/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicrandomlee/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicrandomlee/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicrandomlee/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos INFO: [460/479] Analyzing https://github.com/Bryan-Goh/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kiatkat/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kiatkat/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Bryan-Goh/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Bryan-Goh/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kiatkat/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kiatkat/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kiatkat/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos INFO: [461/479] Analyzing https://github.com/MadLamprey/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/MadLamprey/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/MadLamprey/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Bryan-Goh/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Bryan-Goh/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Bryan-Goh/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepos INFO: [462/479] Analyzing https://github.com/xyT-T/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xyT-T/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xyT-T/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/MadLamprey/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/MadLamprey/ip.git (master)... +Aug 28, 2023 2:14:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/MadLamprey/ip.git (master) completed! +Aug 28, 2023 2:14:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xyT-T/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [463/479] Analyzing https://github.com/jiakai-17/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xyT-T/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xyT-T/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [463/479] Analyzing https://github.com/jiakai-17/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/MadLamprey/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [464/479] Analyzing https://github.com/nreHieW/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jiakai-17/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jiakai-17/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/MadLamprey/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/MadLamprey/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [464/479] Analyzing https://github.com/nreHieW/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nreHieW/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nreHieW/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nreHieW/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jiakai-17/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nreHieW/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jiakai-17/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nreHieW/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos INFO: [465/479] Analyzing https://github.com/nathanielcalimag/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jiakai-17/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jiakai-17/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [466/479] Analyzing https://github.com/Saezenn/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nathanielcalimag/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nathanielcalimag/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jiakai-17/ip.git (master) completed! +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [466/479] Analyzing https://github.com/Saezenn/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Saezenn/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Saezenn/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Saezenn/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Saezenn/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Saezenn/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos INFO: [467/479] Analyzing https://github.com/jellywaiyan/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nathanielcalimag/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jellywaiyan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jellywaiyan/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nathanielcalimag/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nathanielcalimag/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nathanielcalimag/ip.git (master) completed! -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos INFO: [468/479] Analyzing https://github.com/marquestye/ip.git (master)... -Aug 28, 2023 1:55:50 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/marquestye/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/marquestye/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jellywaiyan/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/marquestye/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jellywaiyan/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jellywaiyan/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [469/479] Analyzing https://github.com/Tang-Moyan/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jellywaiyan/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/marquestye/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/marquestye/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [470/479] Analyzing https://github.com/DonovanJJ/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [469/479] Analyzing https://github.com/Tang-Moyan/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jellywaiyan/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jellywaiyan/ip.git (master) completed! +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [470/479] Analyzing https://github.com/Sebtey/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Tang-Moyan/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Tang-Moyan/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/DonovanJJ/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/DonovanJJ/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Sebtey/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Sebtey/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Tang-Moyan/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Tang-Moyan/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Tang-Moyan/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [471/479] Analyzing https://github.com/Sebtey/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Sebtey/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Sebtey/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [471/479] Analyzing https://github.com/DonovanJJ/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/DonovanJJ/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/DonovanJJ/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Sebtey/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Sebtey/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/DonovanJJ/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Sebtey/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos INFO: [472/479] Analyzing https://github.com/rionshocker/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/DonovanJJ/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/rionshocker/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/rionshocker/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/DonovanJJ/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [473/479] Analyzing https://github.com/tyouwei/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tyouwei/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tyouwei/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rionshocker/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rionshocker/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rionshocker/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [474/479] Analyzing https://github.com/Blizzeracz/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator updateRepoConfig +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [473/479] Analyzing https://github.com/Blizzeracz/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/DonovanJJ/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/DonovanJJ/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/DonovanJJ/ip.git (master) completed! +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [474/479] Analyzing https://github.com/tyouwei/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Blizzeracz/ip.git (master) does not contain a standalone config file. -Aug 28, 2023 1:55:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Blizzeracz/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tyouwei/ip.git (master) does not contain a standalone config file. +Aug 28, 2023 2:14:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tyouwei/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tyouwei/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Blizzeracz/ip.git (master)... +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tyouwei/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tyouwei/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Blizzeracz/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Aug 28, 2023 2:14:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Blizzeracz/ip.git (master)... -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator analyzeRepo +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Blizzeracz/ip.git (master) completed! -Aug 28, 2023 1:55:51 PM reposense.report.ReportGenerator generateReposReport +Aug 28, 2023 2:14:43 PM reposense.report.ReportGenerator generateReposReport INFO: The report is generated at /home/runner/work/ip-dashboard/ip-dashboard/reposense-report -Aug 28, 2023 1:55:52 PM reposense.RepoSense main -INFO: Elapsed processing time: 1 minute(s) 3.17 second(s) +Aug 28, 2023 2:14:44 PM reposense.RepoSense main +INFO: Elapsed processing time: 1 minute(s) 11.38 second(s) diff --git a/seewhyjay_ip_master/authorship.json b/seewhyjay_ip_master/authorship.json index d17b4dbb..8c221a77 100644 --- a/seewhyjay_ip_master/authorship.json +++ b/seewhyjay_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"public class Deadline extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" private String deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" public Deadline(String task, String deadline) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":" this.deadline \u003d deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"-"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public String saveString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"-"},"content":" String completedString \u003d completed ? \"X|\" : \" |\";","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"-"},"content":" return \"D|\" + completedString + task + \"|\" + deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.deadline + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":12,"-":6}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import java.io.*;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":"import java.util.EnumSet;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":"import java.util.List;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":8,"author":{"gitId":"-"},"content":" private static final List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":" private static final String lineSep \u003d \"-------------------------------\";","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":" private static final String saveLocation \u003d \"data/duke.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" private enum Command {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":" invalid, bye, list, mark, unmark, delete, todo, deadline, event;","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":" /*","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" If more task types are added in the future can just add here so I don\u0027t have to change in main","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" when checking if it\u0027s an adding task command","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":" public static EnumSet\u003cCommand\u003e taskTypes() {","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"seewhyjay"},"content":" return EnumSet.of(todo, deadline, event);","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":24,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep);","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Hello! I\u0027m YJ\u0027s Chatbot\");","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"What can I do for you?\\n\" + lineSep);","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"-"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"-"},"content":" loadSavedTasks();","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"-"},"content":" } catch (FileNotFoundException ignored) {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"-"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"-"},"content":" System.out.println(\"Failed to load saved tasks!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"seewhyjay"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"seewhyjay"},"content":" String input \u003d readCmd(scanner);","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"seewhyjay"},"content":" Command cmd \u003d getCommand(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"-"},"content":" int prevSize \u003d 0;","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"seewhyjay"},"content":" while (!cmd.equals(Command.bye)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"seewhyjay"},"content":" if (cmd.equals(Command.list)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"seewhyjay"},"content":" listTasks();","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.delete)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"seewhyjay"},"content":" String[] split \u003d input.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"seewhyjay"},"content":" if (split.length \u003e 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"seewhyjay"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"seewhyjay"},"content":" Task toRemove \u003d tasks.get(Integer.parseInt(split[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"seewhyjay"},"content":" tasks.remove(toRemove);","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\\n\" + toRemove);","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"seewhyjay"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"To delete a task you need to provide a valid integer index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"seewhyjay"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"No task with that index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"To delete a task you need to provide an index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.mark) || cmd.equals(Command.unmark)) { // works for both mark and unmark","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"seewhyjay"},"content":" String[] split \u003d input.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"seewhyjay"},"content":" if (split.length \u003e 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"seewhyjay"},"content":" markTask(split);","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"To mark/unmark a task you need to provide an index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"seewhyjay"},"content":" } else if (Command.taskTypes().contains(cmd)){","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"seewhyjay"},"content":" addTask(cmd, input);","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"seewhyjay"},"content":" // Unknown command","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"-"},"content":" System.out.println(lineSep + \"\\nUnknown command given :\u003c\");","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"-"},"content":" if (prevSize \u003c tasks.size()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"-"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"-"},"content":" saveTasks();","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"-"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"-"},"content":" System.out.println(\"Failed to save tasks!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"seewhyjay"},"content":" input \u003d readCmd(scanner);","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"seewhyjay"},"content":" cmd \u003d getCommand(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":81,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"seewhyjay"},"content":" // Close scanner, must be done here because if I try to close in readCmd it\u0027ll close the System.in stream.","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"seewhyjay"},"content":" scanner.close();","lastModifiedDate":"2023-08-23"},{"lineNumber":84,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":85,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Bye. Hope to see you soon!\\n\" + lineSep);","lastModifiedDate":"2023-08-23"},{"lineNumber":86,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":87,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":88,"author":{"gitId":"seewhyjay"},"content":" public static String readCmd(Scanner scanner) {","lastModifiedDate":"2023-08-23"},{"lineNumber":89,"author":{"gitId":"seewhyjay"},"content":" // Read user input","lastModifiedDate":"2023-08-23"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return scanner.nextLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":92,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"seewhyjay"},"content":" private static void listTasks() {","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"seewhyjay"},"content":" int tempCounter \u003d 0;","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"seewhyjay"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"seewhyjay"},"content":" // Don\u0027t print nulls","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"seewhyjay"},"content":" if (task \u003d\u003d null) { break; }","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"seewhyjay"},"content":" if (task instanceof Todo) {","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"seewhyjay"},"content":" Todo t \u003d (Todo) task;","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tempCounter + \".\" + t);","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"seewhyjay"},"content":" } else if (task instanceof Deadline) {","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"seewhyjay"},"content":" Deadline t \u003d (Deadline) task;","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tempCounter + \".\" + t);","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"seewhyjay"},"content":" } else if (task instanceof Event) {","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"seewhyjay"},"content":" Event t \u003d (Event) task;","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tempCounter + \".\" + t);","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":108,"author":{"gitId":"seewhyjay"},"content":" tempCounter++;","lastModifiedDate":"2023-08-24"},{"lineNumber":109,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"seewhyjay"},"content":" private static void markTask(String[] split) {","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"seewhyjay"},"content":" int idx \u003d Integer.parseInt(split[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"seewhyjay"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":115,"author":{"gitId":"seewhyjay"},"content":" tasks.get(idx).setCompleted(split[0].equals(\"mark\"));","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tasks.get(idx).toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"seewhyjay"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"No task with that index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"seewhyjay"},"content":" private static Command getCommand(String input) {","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"seewhyjay"},"content":" Command ret \u003d Command.invalid;","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"seewhyjay"},"content":" for (Command cmd : Command.values() ) {","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"seewhyjay"},"content":" if (input.startsWith(cmd.toString())) {","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"seewhyjay"},"content":" ret \u003d cmd;","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":130,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":131,"author":{"gitId":"seewhyjay"},"content":" return ret;","lastModifiedDate":"2023-08-24"},{"lineNumber":132,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":133,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"seewhyjay"},"content":" private static void addTask(Command cmd, String input) {","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"seewhyjay"},"content":" if (cmd.equals(Command.todo)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"seewhyjay"},"content":" if (input.split(\" \").length \u003c 2) {","lastModifiedDate":"2023-08-24"},{"lineNumber":137,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"The description of a todo cannot be empty!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":138,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"seewhyjay"},"content":" Todo todo \u003d new Todo(input.replaceFirst(\"todo \", \"\"));","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"seewhyjay"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":142,"author":{"gitId":"seewhyjay"},"content":" System.out.println(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.deadline)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"seewhyjay"},"content":" if (!input.matches(\".*\\\\b /by \\\\b.*\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":146,"author":{"gitId":"-"},"content":" System.out.println(\"A deadline must contain a description and end specified with `/by`!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":147,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":148,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":149,"author":{"gitId":"seewhyjay"},"content":" String afterCommand \u003d input.replaceFirst(\"deadline \", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":150,"author":{"gitId":"seewhyjay"},"content":" String[] split \u003d afterCommand.split(\" /by \");","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"seewhyjay"},"content":" Deadline deadline \u003d new Deadline(split[0], split[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"seewhyjay"},"content":" tasks.add(deadline);","lastModifiedDate":"2023-08-24"},{"lineNumber":153,"author":{"gitId":"seewhyjay"},"content":" System.out.println(deadline);","lastModifiedDate":"2023-08-24"},{"lineNumber":154,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":155,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.event)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (!input.matches(\".*\\\\b /by \\\\b.*\") || !input.matches(\".*\\\\b/to \\\\b.*\")) {","lastModifiedDate":"2023-08-28"},{"lineNumber":157,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"An event must contain a description,\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \" start and end specified with `/by` and `/to`!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":159,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":160,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":161,"author":{"gitId":"seewhyjay"},"content":" String afterCommand \u003d input.replaceFirst(\"deadline \", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":162,"author":{"gitId":"seewhyjay"},"content":" // In case the user does /to before /by, split /by and /to and vice versa to get by and to","lastModifiedDate":"2023-08-24"},{"lineNumber":163,"author":{"gitId":"seewhyjay"},"content":" String by \u003d afterCommand.split(\" /by \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":164,"author":{"gitId":"seewhyjay"},"content":" by \u003d by.split(\" /to \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":165,"author":{"gitId":"seewhyjay"},"content":" String to \u003d afterCommand.split(\" /to \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":166,"author":{"gitId":"seewhyjay"},"content":" to \u003d to.split(\" /by \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":167,"author":{"gitId":"seewhyjay"},"content":" // Get index 0 to get before the /by and /to, so either way you\u0027ll get only the task","lastModifiedDate":"2023-08-24"},{"lineNumber":168,"author":{"gitId":"seewhyjay"},"content":" String task \u003d input.split(\" /to \")[0].split(\" /by \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":169,"author":{"gitId":"seewhyjay"},"content":" task \u003d task.replaceFirst(\"event \", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":170,"author":{"gitId":"seewhyjay"},"content":" Event event \u003d new Event(task, by, to);","lastModifiedDate":"2023-08-24"},{"lineNumber":171,"author":{"gitId":"seewhyjay"},"content":" tasks.add(event);","lastModifiedDate":"2023-08-24"},{"lineNumber":172,"author":{"gitId":"seewhyjay"},"content":" System.out.println(event);","lastModifiedDate":"2023-08-24"},{"lineNumber":173,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":174,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":175,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":176,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":177,"author":{"gitId":"-"},"content":" private static void saveTasks() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":178,"author":{"gitId":"-"},"content":" File saveFile \u003d new File(saveLocation);","lastModifiedDate":"2023-08-28"},{"lineNumber":179,"author":{"gitId":"-"},"content":" saveFile.mkdirs();","lastModifiedDate":"2023-08-28"},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (saveFile.exists()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":181,"author":{"gitId":"-"},"content":" boolean deleteFileSuccess \u003d saveFile.delete();","lastModifiedDate":"2023-08-28"},{"lineNumber":182,"author":{"gitId":"-"},"content":" if (!deleteFileSuccess) {","lastModifiedDate":"2023-08-28"},{"lineNumber":183,"author":{"gitId":"-"},"content":" System.out.println(\"Failed to delete previous save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":186,"author":{"gitId":"-"},"content":" boolean createNewFileSuccess \u003d saveFile.createNewFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":187,"author":{"gitId":"-"},"content":" if (!createNewFileSuccess) {","lastModifiedDate":"2023-08-28"},{"lineNumber":188,"author":{"gitId":"-"},"content":" System.out.println(\"Failed to create save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":189,"author":{"gitId":"-"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":190,"author":{"gitId":"-"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(saveLocation, true));","lastModifiedDate":"2023-08-28"},{"lineNumber":191,"author":{"gitId":"-"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-08-28"},{"lineNumber":192,"author":{"gitId":"-"},"content":" writer.append(task.saveString()).append(\"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":194,"author":{"gitId":"-"},"content":" writer.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":197,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":198,"author":{"gitId":"-"},"content":" private static void loadSavedTasks() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":199,"author":{"gitId":"-"},"content":" File saveFile \u003d new File(saveLocation);","lastModifiedDate":"2023-08-28"},{"lineNumber":200,"author":{"gitId":"-"},"content":" if (saveFile.exists()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":201,"author":{"gitId":"-"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(saveLocation));","lastModifiedDate":"2023-08-28"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String line;","lastModifiedDate":"2023-08-28"},{"lineNumber":203,"author":{"gitId":"-"},"content":" while ((line \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2023-08-28"},{"lineNumber":204,"author":{"gitId":"-"},"content":" String[] datum \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-08-28"},{"lineNumber":205,"author":{"gitId":"-"},"content":" switch (datum[0]) {","lastModifiedDate":"2023-08-28"},{"lineNumber":206,"author":{"gitId":"-"},"content":" case \"T\":","lastModifiedDate":"2023-08-28"},{"lineNumber":207,"author":{"gitId":"-"},"content":" tasks.add(new Todo(datum[2]));","lastModifiedDate":"2023-08-28"},{"lineNumber":208,"author":{"gitId":"-"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":209,"author":{"gitId":"-"},"content":" case \"D\":","lastModifiedDate":"2023-08-28"},{"lineNumber":210,"author":{"gitId":"-"},"content":" tasks.add(new Deadline(datum[2], datum[3]));","lastModifiedDate":"2023-08-28"},{"lineNumber":211,"author":{"gitId":"-"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":212,"author":{"gitId":"-"},"content":" case \"E\":","lastModifiedDate":"2023-08-28"},{"lineNumber":213,"author":{"gitId":"-"},"content":" tasks.add(new Event(datum[2], datum[3], datum[4]));","lastModifiedDate":"2023-08-28"},{"lineNumber":214,"author":{"gitId":"-"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":216,"author":{"gitId":"-"},"content":" if (datum[1].equals(\"X\")) {","lastModifiedDate":"2023-08-28"},{"lineNumber":217,"author":{"gitId":"-"},"content":" tasks.get(tasks.size() - 1).setCompleted(true);","lastModifiedDate":"2023-08-28"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":220,"author":{"gitId":"-"},"content":" reader.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":223,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"seewhyjay":150,"-":73}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" private String start;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" private String deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" public Event(String task, String start, String deadline) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" this.start \u003d start;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":" this.deadline \u003d deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"-"},"content":" public String saveString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"-"},"content":" String completedString \u003d completed ? \"X|\" : \" |\";","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"-"},"content":" return \"E|\" + completedString + task + \"|\" + start + \"|\" + deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":" return \"[E]\" + super.toString() + \" (from: \" + this.start + \" to: \" + this.deadline + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":14,"-":6}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"abstract public class Task {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"-"},"content":" protected String task;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"-"},"content":" protected Boolean completed \u003d false;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" public Task(String task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":" this.task \u003d task;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" public void setCompleted(Boolean completed) {","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":" this.completed \u003d completed;","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":" abstract public String saveString();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":" String box \u003d this.completed ? \"[X]\": \"[ ]\";","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" return box + \" \" + this.task;","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":13,"-":5}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"public class Todo extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" public Todo(String task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"-"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public String saveString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"-"},"content":" String completedString \u003d completed ? \"X|\" : \" |\";","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"-"},"content":" return \"T|\" + completedString + task;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":10,"-":5}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"todo Todo1","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"event Event1 test /by 123 /to 321","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"-"},"content":"deadline Deadline1 test /by 123","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"-"},"content":"deadline Deadline no by","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"-"},"content":"event Event no by /to 321","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"-"},"content":"event Event no to /by 12312","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"-"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"-"},"content":"event Event no both","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":"mark 0","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":"unmark 0","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":"delete 0","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"seewhyjay"},"content":"blah","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"seewhyjay"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":12,"-":10}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM delete previous save file","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"-"},"content":"del .\\data\\duke.txt","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"java -classpath ..\\bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"seewhyjay"},"content":"if errorlevel 1 (","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"seewhyjay"},"content":" echo Test failed!","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"seewhyjay"},"content":") else (","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"seewhyjay"},"content":" echo Test passed!","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"seewhyjay"},"content":")","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":6,"-":24}}] +[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"public class Deadline extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" private String deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" public Deadline(String task, String deadline) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":" this.deadline \u003d deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":" public String saveString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":" String completedString \u003d completed ? \"X|\" : \" |\";","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":" return \"D|\" + completedString + task + \"|\" + deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.deadline + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":18}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"import java.io.*;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":"import java.util.EnumSet;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":"import java.util.List;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" private static final List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":" private static final String lineSep \u003d \"-------------------------------\";","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":" private static final String saveLocation \u003d \"data/duke.txt\";","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" private enum Command {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":" invalid, bye, list, mark, unmark, delete, todo, deadline, event;","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":" /*","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" If more task types are added in the future can just add here so I don\u0027t have to change in main","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" when checking if it\u0027s an adding task command","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":" public static EnumSet\u003cCommand\u003e taskTypes() {","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"seewhyjay"},"content":" return EnumSet.of(todo, deadline, event);","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":24,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep);","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Hello! I\u0027m YJ\u0027s Chatbot\");","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"What can I do for you?\\n\" + lineSep);","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"seewhyjay"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"seewhyjay"},"content":" loadSavedTasks();","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"seewhyjay"},"content":" } catch (FileNotFoundException ignored) {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"seewhyjay"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Failed to load saved tasks!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"seewhyjay"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"seewhyjay"},"content":" String input \u003d readCmd(scanner);","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"seewhyjay"},"content":" Command cmd \u003d getCommand(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"seewhyjay"},"content":" int prevSize \u003d 0;","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"seewhyjay"},"content":" while (!cmd.equals(Command.bye)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"seewhyjay"},"content":" if (cmd.equals(Command.list)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"seewhyjay"},"content":" listTasks();","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.delete)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"seewhyjay"},"content":" String[] split \u003d input.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"seewhyjay"},"content":" if (split.length \u003e 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"seewhyjay"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"seewhyjay"},"content":" Task toRemove \u003d tasks.get(Integer.parseInt(split[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"seewhyjay"},"content":" tasks.remove(toRemove);","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\\n\" + toRemove);","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"seewhyjay"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"To delete a task you need to provide a valid integer index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"seewhyjay"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"No task with that index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"To delete a task you need to provide an index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.mark) || cmd.equals(Command.unmark)) { // works for both mark and unmark","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"seewhyjay"},"content":" String[] split \u003d input.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"seewhyjay"},"content":" if (split.length \u003e 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"seewhyjay"},"content":" markTask(split);","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"To mark/unmark a task you need to provide an index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"seewhyjay"},"content":" } else if (Command.taskTypes().contains(cmd)){","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"seewhyjay"},"content":" addTask(cmd, input);","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"seewhyjay"},"content":" // Unknown command","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep + \"\\nUnknown command given :\u003c\");","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"seewhyjay"},"content":" if (prevSize \u003c tasks.size()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"seewhyjay"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"seewhyjay"},"content":" saveTasks();","lastModifiedDate":"2023-08-28"},{"lineNumber":73,"author":{"gitId":"seewhyjay"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":74,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Failed to save tasks!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":75,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":76,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":77,"author":{"gitId":"seewhyjay"},"content":" input \u003d readCmd(scanner);","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"seewhyjay"},"content":" cmd \u003d getCommand(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":81,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"seewhyjay"},"content":" // Close scanner, must be done here because if I try to close in readCmd it\u0027ll close the System.in stream.","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"seewhyjay"},"content":" scanner.close();","lastModifiedDate":"2023-08-23"},{"lineNumber":84,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":85,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Bye. Hope to see you soon!\\n\" + lineSep);","lastModifiedDate":"2023-08-23"},{"lineNumber":86,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":87,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":88,"author":{"gitId":"seewhyjay"},"content":" public static String readCmd(Scanner scanner) {","lastModifiedDate":"2023-08-23"},{"lineNumber":89,"author":{"gitId":"seewhyjay"},"content":" // Read user input","lastModifiedDate":"2023-08-23"},{"lineNumber":90,"author":{"gitId":"seewhyjay"},"content":" return scanner.nextLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":92,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"seewhyjay"},"content":" private static void listTasks() {","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"seewhyjay"},"content":" int tempCounter \u003d 0;","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"seewhyjay"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"seewhyjay"},"content":" // Don\u0027t print nulls","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"seewhyjay"},"content":" if (task \u003d\u003d null) { break; }","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"seewhyjay"},"content":" if (task instanceof Todo) {","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"seewhyjay"},"content":" Todo t \u003d (Todo) task;","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tempCounter + \".\" + t);","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"seewhyjay"},"content":" } else if (task instanceof Deadline) {","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"seewhyjay"},"content":" Deadline t \u003d (Deadline) task;","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tempCounter + \".\" + t);","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"seewhyjay"},"content":" } else if (task instanceof Event) {","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"seewhyjay"},"content":" Event t \u003d (Event) task;","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tempCounter + \".\" + t);","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":108,"author":{"gitId":"seewhyjay"},"content":" tempCounter++;","lastModifiedDate":"2023-08-24"},{"lineNumber":109,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"seewhyjay"},"content":" private static void markTask(String[] split) {","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"seewhyjay"},"content":" int idx \u003d Integer.parseInt(split[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"seewhyjay"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":115,"author":{"gitId":"seewhyjay"},"content":" tasks.get(idx).setCompleted(split[0].equals(\"mark\"));","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"seewhyjay"},"content":" System.out.println(tasks.get(idx).toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"seewhyjay"},"content":" System.out.println(lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"seewhyjay"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"No task with that index!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"seewhyjay"},"content":" private static Command getCommand(String input) {","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"seewhyjay"},"content":" Command ret \u003d Command.invalid;","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"seewhyjay"},"content":" for (Command cmd : Command.values() ) {","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"seewhyjay"},"content":" if (input.startsWith(cmd.toString())) {","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"seewhyjay"},"content":" ret \u003d cmd;","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":130,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":131,"author":{"gitId":"seewhyjay"},"content":" return ret;","lastModifiedDate":"2023-08-24"},{"lineNumber":132,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":133,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"seewhyjay"},"content":" private static void addTask(Command cmd, String input) {","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"seewhyjay"},"content":" if (cmd.equals(Command.todo)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"seewhyjay"},"content":" if (input.split(\" \").length \u003c 2) {","lastModifiedDate":"2023-08-24"},{"lineNumber":137,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"The description of a todo cannot be empty!\\n\" + lineSep);","lastModifiedDate":"2023-08-24"},{"lineNumber":138,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"seewhyjay"},"content":" Todo todo \u003d new Todo(input.replaceFirst(\"todo \", \"\"));","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"seewhyjay"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":142,"author":{"gitId":"seewhyjay"},"content":" System.out.println(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.deadline)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"seewhyjay"},"content":" if (!input.matches(\".*\\\\b /by \\\\b.*\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":146,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"A deadline must contain a description and end specified with `/by`!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":147,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":148,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":149,"author":{"gitId":"seewhyjay"},"content":" String afterCommand \u003d input.replaceFirst(\"deadline \", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":150,"author":{"gitId":"seewhyjay"},"content":" String[] split \u003d afterCommand.split(\" /by \");","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"seewhyjay"},"content":" Deadline deadline \u003d new Deadline(split[0], split[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"seewhyjay"},"content":" tasks.add(deadline);","lastModifiedDate":"2023-08-24"},{"lineNumber":153,"author":{"gitId":"seewhyjay"},"content":" System.out.println(deadline);","lastModifiedDate":"2023-08-24"},{"lineNumber":154,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":155,"author":{"gitId":"seewhyjay"},"content":" } else if (cmd.equals(Command.event)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":156,"author":{"gitId":"seewhyjay"},"content":" if (!input.matches(\".*\\\\b /by \\\\b.*\") || !input.matches(\".*\\\\b/to \\\\b.*\")) {","lastModifiedDate":"2023-08-28"},{"lineNumber":157,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"An event must contain a description,\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":158,"author":{"gitId":"seewhyjay"},"content":" \" start and end specified with `/by` and `/to`!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":159,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":160,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":161,"author":{"gitId":"seewhyjay"},"content":" String afterCommand \u003d input.replaceFirst(\"deadline \", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":162,"author":{"gitId":"seewhyjay"},"content":" // In case the user does /to before /by, split /by and /to and vice versa to get by and to","lastModifiedDate":"2023-08-24"},{"lineNumber":163,"author":{"gitId":"seewhyjay"},"content":" String by \u003d afterCommand.split(\" /by \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":164,"author":{"gitId":"seewhyjay"},"content":" by \u003d by.split(\" /to \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":165,"author":{"gitId":"seewhyjay"},"content":" String to \u003d afterCommand.split(\" /to \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":166,"author":{"gitId":"seewhyjay"},"content":" to \u003d to.split(\" /by \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":167,"author":{"gitId":"seewhyjay"},"content":" // Get index 0 to get before the /by and /to, so either way you\u0027ll get only the task","lastModifiedDate":"2023-08-24"},{"lineNumber":168,"author":{"gitId":"seewhyjay"},"content":" String task \u003d input.split(\" /to \")[0].split(\" /by \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":169,"author":{"gitId":"seewhyjay"},"content":" task \u003d task.replaceFirst(\"event \", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":170,"author":{"gitId":"seewhyjay"},"content":" Event event \u003d new Event(task, by, to);","lastModifiedDate":"2023-08-24"},{"lineNumber":171,"author":{"gitId":"seewhyjay"},"content":" tasks.add(event);","lastModifiedDate":"2023-08-24"},{"lineNumber":172,"author":{"gitId":"seewhyjay"},"content":" System.out.println(event);","lastModifiedDate":"2023-08-24"},{"lineNumber":173,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":174,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":175,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":176,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":177,"author":{"gitId":"seewhyjay"},"content":" private static void saveTasks() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":178,"author":{"gitId":"seewhyjay"},"content":" File saveFile \u003d new File(saveLocation);","lastModifiedDate":"2023-08-28"},{"lineNumber":179,"author":{"gitId":"seewhyjay"},"content":" saveFile.mkdirs();","lastModifiedDate":"2023-08-28"},{"lineNumber":180,"author":{"gitId":"seewhyjay"},"content":" if (saveFile.exists()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":181,"author":{"gitId":"seewhyjay"},"content":" boolean deleteFileSuccess \u003d saveFile.delete();","lastModifiedDate":"2023-08-28"},{"lineNumber":182,"author":{"gitId":"seewhyjay"},"content":" if (!deleteFileSuccess) {","lastModifiedDate":"2023-08-28"},{"lineNumber":183,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Failed to delete previous save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":184,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":185,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":186,"author":{"gitId":"seewhyjay"},"content":" boolean createNewFileSuccess \u003d saveFile.createNewFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":187,"author":{"gitId":"seewhyjay"},"content":" if (!createNewFileSuccess) {","lastModifiedDate":"2023-08-28"},{"lineNumber":188,"author":{"gitId":"seewhyjay"},"content":" System.out.println(\"Failed to create save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":189,"author":{"gitId":"seewhyjay"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":190,"author":{"gitId":"seewhyjay"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(saveLocation, true));","lastModifiedDate":"2023-08-28"},{"lineNumber":191,"author":{"gitId":"seewhyjay"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-08-28"},{"lineNumber":192,"author":{"gitId":"seewhyjay"},"content":" writer.append(task.saveString()).append(\"\\n\");","lastModifiedDate":"2023-08-28"},{"lineNumber":193,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":194,"author":{"gitId":"seewhyjay"},"content":" writer.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":195,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":196,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":197,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":198,"author":{"gitId":"seewhyjay"},"content":" private static void loadSavedTasks() throws IOException {","lastModifiedDate":"2023-08-28"},{"lineNumber":199,"author":{"gitId":"seewhyjay"},"content":" File saveFile \u003d new File(saveLocation);","lastModifiedDate":"2023-08-28"},{"lineNumber":200,"author":{"gitId":"seewhyjay"},"content":" if (saveFile.exists()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":201,"author":{"gitId":"seewhyjay"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(saveLocation));","lastModifiedDate":"2023-08-28"},{"lineNumber":202,"author":{"gitId":"seewhyjay"},"content":" String line;","lastModifiedDate":"2023-08-28"},{"lineNumber":203,"author":{"gitId":"seewhyjay"},"content":" while ((line \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2023-08-28"},{"lineNumber":204,"author":{"gitId":"seewhyjay"},"content":" String[] datum \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-08-28"},{"lineNumber":205,"author":{"gitId":"seewhyjay"},"content":" switch (datum[0]) {","lastModifiedDate":"2023-08-28"},{"lineNumber":206,"author":{"gitId":"seewhyjay"},"content":" case \"T\":","lastModifiedDate":"2023-08-28"},{"lineNumber":207,"author":{"gitId":"seewhyjay"},"content":" tasks.add(new Todo(datum[2]));","lastModifiedDate":"2023-08-28"},{"lineNumber":208,"author":{"gitId":"seewhyjay"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":209,"author":{"gitId":"seewhyjay"},"content":" case \"D\":","lastModifiedDate":"2023-08-28"},{"lineNumber":210,"author":{"gitId":"seewhyjay"},"content":" tasks.add(new Deadline(datum[2], datum[3]));","lastModifiedDate":"2023-08-28"},{"lineNumber":211,"author":{"gitId":"seewhyjay"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":212,"author":{"gitId":"seewhyjay"},"content":" case \"E\":","lastModifiedDate":"2023-08-28"},{"lineNumber":213,"author":{"gitId":"seewhyjay"},"content":" tasks.add(new Event(datum[2], datum[3], datum[4]));","lastModifiedDate":"2023-08-28"},{"lineNumber":214,"author":{"gitId":"seewhyjay"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":215,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":216,"author":{"gitId":"seewhyjay"},"content":" if (datum[1].equals(\"X\")) {","lastModifiedDate":"2023-08-28"},{"lineNumber":217,"author":{"gitId":"seewhyjay"},"content":" tasks.get(tasks.size() - 1).setCompleted(true);","lastModifiedDate":"2023-08-28"},{"lineNumber":218,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":219,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":220,"author":{"gitId":"seewhyjay"},"content":" reader.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":221,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":223,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"seewhyjay":218,"-":5}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" private String start;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" private String deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" public Event(String task, String start, String deadline) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" this.start \u003d start;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":" this.deadline \u003d deadline;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":" public String saveString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" String completedString \u003d completed ? \"X|\" : \" |\";","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":" return \"E|\" + completedString + task + \"|\" + start + \"|\" + deadline;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":" return \"[E]\" + super.toString() + \" (from: \" + this.start + \" to: \" + this.deadline + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":20}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"abstract public class Task {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" protected String task;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" protected Boolean completed \u003d false;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" public Task(String task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":" this.task \u003d task;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" public void setCompleted(Boolean completed) {","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":" this.completed \u003d completed;","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" abstract public String saveString();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":" String box \u003d this.completed ? \"[X]\": \"[ ]\";","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":" return box + \" \" + this.task;","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":18}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"public class Todo extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":" public Todo(String task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":" public String saveString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":" String completedString \u003d completed ? \"X|\" : \" |\";","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":" return \"T|\" + completedString + task;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":15}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"seewhyjay"},"content":"todo Todo1","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"seewhyjay"},"content":"event Event1 test /by 123 /to 321","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"seewhyjay"},"content":"deadline Deadline1 test /by 123","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"seewhyjay"},"content":"deadline Deadline no by","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"seewhyjay"},"content":"event Event no by /to 321","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"seewhyjay"},"content":"event Event no to /by 12312","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"seewhyjay"},"content":"event Event no both","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"seewhyjay"},"content":"mark 0","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":"unmark 0","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":"delete 0","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"seewhyjay"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"seewhyjay"},"content":"blah","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"seewhyjay"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":22}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"seewhyjay"},"content":"REM delete previous save file","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"seewhyjay"},"content":"del .\\data\\duke.txt","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"java -classpath ..\\bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"seewhyjay"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"seewhyjay"},"content":"if errorlevel 1 (","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"seewhyjay"},"content":" echo Test failed!","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"seewhyjay"},"content":") else (","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"seewhyjay"},"content":" echo Test passed!","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"seewhyjay"},"content":")","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"seewhyjay":9,"-":21}}] diff --git a/seewhyjay_ip_master/commits.json b/seewhyjay_ip_master/commits.json index ffb5f516..c12cff00 100644 --- a/seewhyjay_ip_master/commits.json +++ b/seewhyjay_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"seewhyjay":[{"date":"2023-08-23","commitResults":[{"hash":"527c0c1892942e1204e6f8457d5f1ee7bd519a22","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":6}}},{"hash":"d0115ace57eea95eabb13d52f51760e7276adc44","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":4}}},{"hash":"7c4bcb1925e5f64a26e1d7d4ed547462360d7b2e","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":2}}}]},{"date":"2023-08-24","commitResults":[{"hash":"d6fa8749db9c443327cb80ade17243feb0a50d4e","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":10}}},{"hash":"9e4646404fcf4f54a1a71ba10adf113b8ff8af67","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":63,"deletions":9}}},{"hash":"56e456fb0cfc7524b384bbf9f948ba54ac8102e5","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":7}}},{"hash":"e68ad3b972d64d7fe39fc25d30ae8d128e45a475","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0}}},{"hash":"ee53289894c1a5322c2bfa75feb7d3358c6511da","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":10}}},{"hash":"4cd7a30bcfcfc54d3f07f37e1d5eb7e382db037e","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":1},"java":{"insertions":19,"deletions":2}}},{"hash":"02f4c94a32d76d35b6123991b1fbbc48bf80a5e3","isMergeCommit":false,"messageTitle":"A-Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":83,"deletions":48}}},{"hash":"f58279c2ee2d781ffc99422011458572edbb0b9a","isMergeCommit":false,"messageTitle":"Fix A-TextUITesting","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1},"bat":{"insertions":6,"deletions":0}}},{"hash":"aa41e5ab4517caa45e4b1c829043906108d388bd","isMergeCommit":false,"messageTitle":"Fix Level-4, tasks with spaces work now","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":11}}}]}]},"authorFileTypeContributionMap":{"seewhyjay":{"java":199,"md":0,"fxml":0,"sh":0,"bat":6,"gradle":0,"txt":12}},"authorContributionVariance":{"seewhyjay":18210.408},"authorDisplayNameMap":{"seewhyjay":"CS2103T-T12-3 CHOW..JING"}} +{"authorDailyContributionsMap":{"seewhyjay":[{"date":"2023-08-23","commitResults":[{"hash":"527c0c1892942e1204e6f8457d5f1ee7bd519a22","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":6}}},{"hash":"d0115ace57eea95eabb13d52f51760e7276adc44","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":4}}},{"hash":"7c4bcb1925e5f64a26e1d7d4ed547462360d7b2e","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":2}}}]},{"date":"2023-08-24","commitResults":[{"hash":"d6fa8749db9c443327cb80ade17243feb0a50d4e","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":10}}},{"hash":"9e4646404fcf4f54a1a71ba10adf113b8ff8af67","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":63,"deletions":9}}},{"hash":"56e456fb0cfc7524b384bbf9f948ba54ac8102e5","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":7}}},{"hash":"e68ad3b972d64d7fe39fc25d30ae8d128e45a475","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0}}},{"hash":"ee53289894c1a5322c2bfa75feb7d3358c6511da","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":10}}},{"hash":"4cd7a30bcfcfc54d3f07f37e1d5eb7e382db037e","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":1},"java":{"insertions":19,"deletions":2}}},{"hash":"02f4c94a32d76d35b6123991b1fbbc48bf80a5e3","isMergeCommit":false,"messageTitle":"A-Enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":83,"deletions":48}}},{"hash":"f58279c2ee2d781ffc99422011458572edbb0b9a","isMergeCommit":false,"messageTitle":"Fix A-TextUITesting","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1},"bat":{"insertions":6,"deletions":0}}},{"hash":"aa41e5ab4517caa45e4b1c829043906108d388bd","isMergeCommit":false,"messageTitle":"Fix Level-4, tasks with spaces work now","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":11}}}]},{"date":"2023-08-28","commitResults":[{"hash":"72b7585961deae44f9f6dd1ada4d2bcf1d52c519","isMergeCommit":false,"messageTitle":"Feat: Implement saving and loading Feat: Update TextUITest to include negative tests Chore: Make printing of line separators more consistent","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":2},"java":{"insertions":92,"deletions":13},"bat":{"insertions":3,"deletions":0}}},{"hash":"977de3421265950f6c5b1de54e451165f8982381","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"seewhyjay":{"java":289,"md":0,"fxml":0,"sh":0,"bat":9,"gradle":0,"txt":22}},"authorContributionVariance":{"seewhyjay":12835.521},"authorDisplayNameMap":{"seewhyjay":"CS2103T-T12-3 CHOW..JING"}} diff --git a/summary.json b/summary.json index 0f9e7366..5829986b 100644 --- a/summary.json +++ b/summary.json @@ -1 +1 @@ -{"repoSenseVersion":"324a0cbbff","reportGeneratedTime":"Mon Aug 28 21:54:50 2023 UTC+08:00","reportGenerationTime":" 1 minute(s) 2.55 second(s)","zoneId":"UTC+08:00","reportTitle":"CS2103 iP Code Dashboard","repos":[{"location":{"location":"https://github.com/remuslum/ip.git","repoName":"ip","organization":"remuslum","domainName":"github"},"branch":"master","displayName":"remuslum/ip[master]","outputFolderName":"remuslum_ip_master"},{"location":{"location":"https://github.com/elhy1999/ip.git","repoName":"ip","organization":"elhy1999","domainName":"github"},"branch":"master","displayName":"elhy1999/ip[master]","outputFolderName":"elhy1999_ip_master"},{"location":{"location":"https://github.com/XihuaZ/ip.git","repoName":"ip","organization":"XihuaZ","domainName":"github"},"branch":"master","displayName":"XihuaZ/ip[master]","outputFolderName":"XihuaZ_ip_master"},{"location":{"location":"https://github.com/bwangpj/ip.git","repoName":"ip","organization":"bwangpj","domainName":"github"},"branch":"master","displayName":"bwangpj/ip[master]","outputFolderName":"bwangpj_ip_master"},{"location":{"location":"https://github.com/shuenj/ip.git","repoName":"ip","organization":"shuenj","domainName":"github"},"branch":"master","displayName":"shuenj/ip[master]","outputFolderName":"shuenj_ip_master"},{"location":{"location":"https://github.com/SungMatt/ip.git","repoName":"ip","organization":"SungMatt","domainName":"github"},"branch":"master","displayName":"SungMatt/ip[master]","outputFolderName":"SungMatt_ip_master"},{"location":{"location":"https://github.com/junhonglow/ip.git","repoName":"ip","organization":"junhonglow","domainName":"github"},"branch":"master","displayName":"junhonglow/ip[master]","outputFolderName":"junhonglow_ip_master"},{"location":{"location":"https://github.com/xavierpok/ip.git","repoName":"ip","organization":"xavierpok","domainName":"github"},"branch":"master","displayName":"xavierpok/ip[master]","outputFolderName":"xavierpok_ip_master"},{"location":{"location":"https://github.com/marcellaantania/ip.git","repoName":"ip","organization":"marcellaantania","domainName":"github"},"branch":"master","displayName":"marcellaantania/ip[master]","outputFolderName":"marcellaantania_ip_master"},{"location":{"location":"https://github.com/leezhanpeng/ip.git","repoName":"ip","organization":"leezhanpeng","domainName":"github"},"branch":"master","displayName":"leezhanpeng/ip[master]","outputFolderName":"leezhanpeng_ip_master"},{"location":{"location":"https://github.com/sheryew/ip.git","repoName":"ip","organization":"sheryew","domainName":"github"},"branch":"master","displayName":"sheryew/ip[master]","outputFolderName":"sheryew_ip_master"},{"location":{"location":"https://github.com/lihongguang00/ip.git","repoName":"ip","organization":"lihongguang00","domainName":"github"},"branch":"master","displayName":"lihongguang00/ip[master]","outputFolderName":"lihongguang00_ip_master"},{"location":{"location":"https://github.com/nicrandomlee/ip.git","repoName":"ip","organization":"nicrandomlee","domainName":"github"},"branch":"master","displayName":"nicrandomlee/ip[master]","outputFolderName":"nicrandomlee_ip_master"},{"location":{"location":"https://github.com/s-peiran/ip.git","repoName":"ip","organization":"s-peiran","domainName":"github"},"branch":"master","displayName":"s-peiran/ip[master]","outputFolderName":"s-peiran_ip_master"},{"location":{"location":"https://github.com/aarontxz/ip.git","repoName":"ip","organization":"aarontxz","domainName":"github"},"branch":"master","displayName":"aarontxz/ip[master]","outputFolderName":"aarontxz_ip_master"},{"location":{"location":"https://github.com/chiayunrong/ip.git","repoName":"ip","organization":"chiayunrong","domainName":"github"},"branch":"master","displayName":"chiayunrong/ip[master]","outputFolderName":"chiayunrong_ip_master"},{"location":{"location":"https://github.com/nixonwidjaja/ip.git","repoName":"ip","organization":"nixonwidjaja","domainName":"github"},"branch":"master","displayName":"nixonwidjaja/ip[master]","outputFolderName":"nixonwidjaja_ip_master"},{"location":{"location":"https://github.com/imkwokyong/ip.git","repoName":"ip","organization":"imkwokyong","domainName":"github"},"branch":"master","displayName":"imkwokyong/ip[master]","outputFolderName":"imkwokyong_ip_master"},{"location":{"location":"https://github.com/mamayuan/ip.git","repoName":"ip","organization":"mamayuan","domainName":"github"},"branch":"master","displayName":"mamayuan/ip[master]","outputFolderName":"mamayuan_ip_master"},{"location":{"location":"https://github.com/geoffong11/ip.git","repoName":"ip","organization":"geoffong11","domainName":"github"},"branch":"master","displayName":"geoffong11/ip[master]","outputFolderName":"geoffong11_ip_master"},{"location":{"location":"https://github.com/vivienherq/ip.git","repoName":"ip","organization":"vivienherq","domainName":"github"},"branch":"master","displayName":"vivienherq/ip[master]","outputFolderName":"vivienherq_ip_master"},{"location":{"location":"https://github.com/johnnythesnake12/ip.git","repoName":"ip","organization":"johnnythesnake12","domainName":"github"},"branch":"master","displayName":"johnnythesnake12/ip[master]","outputFolderName":"johnnythesnake12_ip_master"},{"location":{"location":"https://github.com/jonyeokj/ip.git","repoName":"ip","organization":"jonyeokj","domainName":"github"},"branch":"master","displayName":"jonyeokj/ip[master]","outputFolderName":"jonyeokj_ip_master"},{"location":{"location":"https://github.com/lipwei1808/ip.git","repoName":"ip","organization":"lipwei1808","domainName":"github"},"branch":"master","displayName":"lipwei1808/ip[master]","outputFolderName":"lipwei1808_ip_master"},{"location":{"location":"https://github.com/zhanyang01/ip.git","repoName":"ip","organization":"zhanyang01","domainName":"github"},"branch":"master","displayName":"zhanyang01/ip[master]","outputFolderName":"zhanyang01_ip_master"},{"location":{"location":"https://github.com/EricXiong420/ip.git","repoName":"ip","organization":"EricXiong420","domainName":"github"},"branch":"master","displayName":"EricXiong420/ip[master]","outputFolderName":"EricXiong420_ip_master"},{"location":{"location":"https://github.com/sp4ce-cowboy/ip.git","repoName":"ip","organization":"sp4ce-cowboy","domainName":"github"},"branch":"master","displayName":"sp4ce-cowboy/ip[master]","outputFolderName":"sp4ce-cowboy_ip_master"},{"location":{"location":"https://github.com/ktzy0305/ip.git","repoName":"ip","organization":"ktzy0305","domainName":"github"},"branch":"master","displayName":"ktzy0305/ip[master]","outputFolderName":"ktzy0305_ip_master"},{"location":{"location":"https://github.com/dom-buri/ip.git","repoName":"ip","organization":"dom-buri","domainName":"github"},"branch":"master","displayName":"dom-buri/ip[master]","outputFolderName":"dom-buri_ip_master"},{"location":{"location":"https://github.com/rayshawntan/ip.git","repoName":"ip","organization":"rayshawntan","domainName":"github"},"branch":"master","displayName":"rayshawntan/ip[master]","outputFolderName":"rayshawntan_ip_master"},{"location":{"location":"https://github.com/Seonlo99/ip.git","repoName":"ip","organization":"Seonlo99","domainName":"github"},"branch":"master","displayName":"Seonlo99/ip[master]","outputFolderName":"Seonlo99_ip_master"},{"location":{"location":"https://github.com/woojiahao/ip.git","repoName":"ip","organization":"woojiahao","domainName":"github"},"branch":"master","displayName":"woojiahao/ip[master]","outputFolderName":"woojiahao_ip_master"},{"location":{"location":"https://github.com/jamz903/ip.git","repoName":"ip","organization":"jamz903","domainName":"github"},"branch":"master","displayName":"jamz903/ip[master]","outputFolderName":"jamz903_ip_master"},{"location":{"location":"https://github.com/Fallman2/ip.git","repoName":"ip","organization":"Fallman2","domainName":"github"},"branch":"master","displayName":"Fallman2/ip[master]","outputFolderName":"Fallman2_ip_master"},{"location":{"location":"https://github.com/jacobcuison/ip.git","repoName":"ip","organization":"jacobcuison","domainName":"github"},"branch":"master","displayName":"jacobcuison/ip[master]","outputFolderName":"jacobcuison_ip_master"},{"location":{"location":"https://github.com/kenvynKwek/ip.git","repoName":"ip","organization":"kenvynKwek","domainName":"github"},"branch":"master","displayName":"kenvynKwek/ip[master]","outputFolderName":"kenvynKwek_ip_master"},{"location":{"location":"https://github.com/kokrui/ip.git","repoName":"ip","organization":"kokrui","domainName":"github"},"branch":"master","displayName":"kokrui/ip[master]","outputFolderName":"kokrui_ip_master"},{"location":{"location":"https://github.com/ncmathan/ip.git","repoName":"ip","organization":"ncmathan","domainName":"github"},"branch":"master","displayName":"ncmathan/ip[master]","outputFolderName":"ncmathan_ip_master"},{"location":{"location":"https://github.com/xCOLOURx/ip.git","repoName":"ip","organization":"xCOLOURx","domainName":"github"},"branch":"master","displayName":"xCOLOURx/ip[master]","outputFolderName":"xCOLOURx_ip_master"},{"location":{"location":"https://github.com/zhyuhan/ip.git","repoName":"ip","organization":"zhyuhan","domainName":"github"},"branch":"master","displayName":"zhyuhan/ip[master]","outputFolderName":"zhyuhan_ip_master"},{"location":{"location":"https://github.com/ceilingFan456/ip.git","repoName":"ip","organization":"ceilingFan456","domainName":"github"},"branch":"master","displayName":"ceilingFan456/ip[master]","outputFolderName":"ceilingFan456_ip_master"},{"location":{"location":"https://github.com/chuababyy/ip.git","repoName":"ip","organization":"chuababyy","domainName":"github"},"branch":"master","displayName":"chuababyy/ip[master]","outputFolderName":"chuababyy_ip_master"},{"location":{"location":"https://github.com/rocketninja7/ip.git","repoName":"ip","organization":"rocketninja7","domainName":"github"},"branch":"master","displayName":"rocketninja7/ip[master]","outputFolderName":"rocketninja7_ip_master"},{"location":{"location":"https://github.com/marquestye/ip.git","repoName":"ip","organization":"marquestye","domainName":"github"},"branch":"master","displayName":"marquestye/ip[master]","outputFolderName":"marquestye_ip_master"},{"location":{"location":"https://github.com/ruiyangzh/ip.git","repoName":"ip","organization":"ruiyangzh","domainName":"github"},"branch":"master","displayName":"ruiyangzh/ip[master]","outputFolderName":"ruiyangzh_ip_master"},{"location":{"location":"https://github.com/derekjxtan/ip.git","repoName":"ip","organization":"derekjxtan","domainName":"github"},"branch":"master","displayName":"derekjxtan/ip[master]","outputFolderName":"derekjxtan_ip_master"},{"location":{"location":"https://github.com/mounilsankar/ip.git","repoName":"ip","organization":"mounilsankar","domainName":"github"},"branch":"master","displayName":"mounilsankar/ip[master]","outputFolderName":"mounilsankar_ip_master"},{"location":{"location":"https://github.com/wj331/ip.git","repoName":"ip","organization":"wj331","domainName":"github"},"branch":"master","displayName":"wj331/ip[master]","outputFolderName":"wj331_ip_master"},{"location":{"location":"https://github.com/JasonLCY-Temp/ip.git","repoName":"ip","organization":"JasonLCY-Temp","domainName":"github"},"branch":"master","displayName":"JasonLCY-Temp/ip[master]","outputFolderName":"JasonLCY-Temp_ip_master"},{"location":{"location":"https://github.com/lawruixi/ip.git","repoName":"ip","organization":"lawruixi","domainName":"github"},"branch":"master","displayName":"lawruixi/ip[master]","outputFolderName":"lawruixi_ip_master"},{"location":{"location":"https://github.com/wxwern/ip.git","repoName":"ip","organization":"wxwern","domainName":"github"},"branch":"master","displayName":"wxwern/ip[master]","outputFolderName":"wxwern_ip_master"},{"location":{"location":"https://github.com/zekone/ip.git","repoName":"ip","organization":"zekone","domainName":"github"},"branch":"master","displayName":"zekone/ip[master]","outputFolderName":"zekone_ip_master"},{"location":{"location":"https://github.com/wamps-jp/ip.git","repoName":"ip","organization":"wamps-jp","domainName":"github"},"branch":"master","displayName":"wamps-jp/ip[master]","outputFolderName":"wamps-jp_ip_master"},{"location":{"location":"https://github.com/saltedfishxx/ip.git","repoName":"ip","organization":"saltedfishxx","domainName":"github"},"branch":"master","displayName":"saltedfishxx/ip[master]","outputFolderName":"saltedfishxx_ip_master"},{"location":{"location":"https://github.com/winson8222/ip.git","repoName":"ip","organization":"winson8222","domainName":"github"},"branch":"master","displayName":"winson8222/ip[master]","outputFolderName":"winson8222_ip_master"},{"location":{"location":"https://github.com/brandon-nam/ip.git","repoName":"ip","organization":"brandon-nam","domainName":"github"},"branch":"master","displayName":"brandon-nam/ip[master]","outputFolderName":"brandon-nam_ip_master"},{"location":{"location":"https://github.com/p-xp/ip.git","repoName":"ip","organization":"p-xp","domainName":"github"},"branch":"master","displayName":"p-xp/ip[master]","outputFolderName":"p-xp_ip_master"},{"location":{"location":"https://github.com/WeeMingQing/ip.git","repoName":"ip","organization":"WeeMingQing","domainName":"github"},"branch":"master","displayName":"WeeMingQing/ip[master]","outputFolderName":"WeeMingQing_ip_master"},{"location":{"location":"https://github.com/ScarletBlanks/ip.git","repoName":"ip","organization":"ScarletBlanks","domainName":"github"},"branch":"master","displayName":"ScarletBlanks/ip[master]","outputFolderName":"ScarletBlanks_ip_master"},{"location":{"location":"https://github.com/seraphimstreets/ip.git","repoName":"ip","organization":"seraphimstreets","domainName":"github"},"branch":"master","displayName":"seraphimstreets/ip[master]","outputFolderName":"seraphimstreets_ip_master"},{"location":{"location":"https://github.com/devanshubisht/ip.git","repoName":"ip","organization":"devanshubisht","domainName":"github"},"branch":"master","displayName":"devanshubisht/ip[master]","outputFolderName":"devanshubisht_ip_master"},{"location":{"location":"https://github.com/Zjinnnn/ip.git","repoName":"ip","organization":"Zjinnnn","domainName":"github"},"branch":"master","displayName":"Zjinnnn/ip[master]","outputFolderName":"Zjinnnn_ip_master"},{"location":{"location":"https://github.com/brendanneojw/ip.git","repoName":"ip","organization":"brendanneojw","domainName":"github"},"branch":"master","displayName":"brendanneojw/ip[master]","outputFolderName":"brendanneojw_ip_master"},{"location":{"location":"https://github.com/aexolate/ip.git","repoName":"ip","organization":"aexolate","domainName":"github"},"branch":"master","displayName":"aexolate/ip[master]","outputFolderName":"aexolate_ip_master"},{"location":{"location":"https://github.com/techjay-c/ip.git","repoName":"ip","organization":"techjay-c","domainName":"github"},"branch":"master","displayName":"techjay-c/ip[master]","outputFolderName":"techjay-c_ip_master"},{"location":{"location":"https://github.com/SynapseProgramming/ip.git","repoName":"ip","organization":"SynapseProgramming","domainName":"github"},"branch":"master","displayName":"SynapseProgramming/ip[master]","outputFolderName":"SynapseProgramming_ip_master"},{"location":{"location":"https://github.com/TyrusLye/ip.git","repoName":"ip","organization":"TyrusLye","domainName":"github"},"branch":"master","displayName":"TyrusLye/ip[master]","outputFolderName":"TyrusLye_ip_master"},{"location":{"location":"https://github.com/RB9823/ip.git","repoName":"ip","organization":"RB9823","domainName":"github"},"branch":"master","displayName":"RB9823/ip[master]","outputFolderName":"RB9823_ip_master"},{"location":{"location":"https://github.com/jean-cq/ip.git","repoName":"ip","organization":"jean-cq","domainName":"github"},"branch":"master","displayName":"jean-cq/ip[master]","outputFolderName":"jean-cq_ip_master"},{"location":{"location":"https://github.com/Bearypop/ip.git","repoName":"ip","organization":"Bearypop","domainName":"github"},"branch":"master","displayName":"Bearypop/ip[master]","outputFolderName":"Bearypop_ip_master"},{"location":{"location":"https://github.com/andytoh1/ip.git","repoName":"ip","organization":"andytoh1","domainName":"github"},"branch":"master","displayName":"andytoh1/ip[master]","outputFolderName":"andytoh1_ip_master"},{"location":{"location":"https://github.com/siqirua/ip.git","repoName":"ip","organization":"siqirua","domainName":"github"},"branch":"master","displayName":"siqirua/ip[master]","outputFolderName":"siqirua_ip_master"},{"location":{"location":"https://github.com/amosting/ip.git","repoName":"ip","organization":"amosting","domainName":"github"},"branch":"master","displayName":"amosting/ip[master]","outputFolderName":"amosting_ip_master"},{"location":{"location":"https://github.com/JizhuoChen/ip.git","repoName":"ip","organization":"JizhuoChen","domainName":"github"},"branch":"master","displayName":"JizhuoChen/ip[master]","outputFolderName":"JizhuoChen_ip_master"},{"location":{"location":"https://github.com/Tang-Moyan/ip.git","repoName":"ip","organization":"Tang-Moyan","domainName":"github"},"branch":"master","displayName":"Tang-Moyan/ip[master]","outputFolderName":"Tang-Moyan_ip_master"},{"location":{"location":"https://github.com/aliciamichellew/ip.git","repoName":"ip","organization":"aliciamichellew","domainName":"github"},"branch":"master","displayName":"aliciamichellew/ip[master]","outputFolderName":"aliciamichellew_ip_master"},{"location":{"location":"https://github.com/KamiliArsyad/ip.git","repoName":"ip","organization":"KamiliArsyad","domainName":"github"},"branch":"master","displayName":"KamiliArsyad/ip[master]","outputFolderName":"KamiliArsyad_ip_master"},{"location":{"location":"https://github.com/dishenggg/ip.git","repoName":"ip","organization":"dishenggg","domainName":"github"},"branch":"master","displayName":"dishenggg/ip[master]","outputFolderName":"dishenggg_ip_master"},{"location":{"location":"https://github.com/Nixx162/ip.git","repoName":"ip","organization":"Nixx162","domainName":"github"},"branch":"master","displayName":"Nixx162/ip[master]","outputFolderName":"Nixx162_ip_master"},{"location":{"location":"https://github.com/Leb14/ip.git","repoName":"ip","organization":"Leb14","domainName":"github"},"branch":"master","displayName":"Leb14/ip[master]","outputFolderName":"Leb14_ip_master"},{"location":{"location":"https://github.com/Heran9/ip.git","repoName":"ip","organization":"Heran9","domainName":"github"},"branch":"master","displayName":"Heran9/ip[master]","outputFolderName":"Heran9_ip_master"},{"location":{"location":"https://github.com/FerdiHS/ip.git","repoName":"ip","organization":"FerdiHS","domainName":"github"},"branch":"master","displayName":"FerdiHS/ip[master]","outputFolderName":"FerdiHS_ip_master"},{"location":{"location":"https://github.com/StevenLiudw/ip.git","repoName":"ip","organization":"StevenLiudw","domainName":"github"},"branch":"master","displayName":"StevenLiudw/ip[master]","outputFolderName":"StevenLiudw_ip_master"},{"location":{"location":"https://github.com/InfiBeyond/ip.git","repoName":"ip","organization":"InfiBeyond","domainName":"github"},"branch":"master","displayName":"InfiBeyond/ip[master]","outputFolderName":"InfiBeyond_ip_master"},{"location":{"location":"https://github.com/s0ngyang/ip.git","repoName":"ip","organization":"s0ngyang","domainName":"github"},"branch":"master","displayName":"s0ngyang/ip[master]","outputFolderName":"s0ngyang_ip_master"},{"location":{"location":"https://github.com/ivyy-poison/ip.git","repoName":"ip","organization":"ivyy-poison","domainName":"github"},"branch":"master","displayName":"ivyy-poison/ip[master]","outputFolderName":"ivyy-poison_ip_master"},{"location":{"location":"https://github.com/yytan25/ip.git","repoName":"ip","organization":"yytan25","domainName":"github"},"branch":"master","displayName":"yytan25/ip[master]","outputFolderName":"yytan25_ip_master"},{"location":{"location":"https://github.com/tjch-o/ip.git","repoName":"ip","organization":"tjch-o","domainName":"github"},"branch":"master","displayName":"tjch-o/ip[master]","outputFolderName":"tjch-o_ip_master"},{"location":{"location":"https://github.com/jedkohjk/ip.git","repoName":"ip","organization":"jedkohjk","domainName":"github"},"branch":"master","displayName":"jedkohjk/ip[master]","outputFolderName":"jedkohjk_ip_master"},{"location":{"location":"https://github.com/raynertjx/ip.git","repoName":"ip","organization":"raynertjx","domainName":"github"},"branch":"master","displayName":"raynertjx/ip[master]","outputFolderName":"raynertjx_ip_master"},{"location":{"location":"https://github.com/cmHuang777/ip.git","repoName":"ip","organization":"cmHuang777","domainName":"github"},"branch":"master","displayName":"cmHuang777/ip[master]","outputFolderName":"cmHuang777_ip_master"},{"location":{"location":"https://github.com/wui-hong/ip.git","repoName":"ip","organization":"wui-hong","domainName":"github"},"branch":"master","displayName":"wui-hong/ip[master]","outputFolderName":"wui-hong_ip_master"},{"location":{"location":"https://github.com/PohSayKeong/ip.git","repoName":"ip","organization":"PohSayKeong","domainName":"github"},"branch":"master","displayName":"PohSayKeong/ip[master]","outputFolderName":"PohSayKeong_ip_master"},{"location":{"location":"https://github.com/lsyurea/ip.git","repoName":"ip","organization":"lsyurea","domainName":"github"},"branch":"master","displayName":"lsyurea/ip[master]","outputFolderName":"lsyurea_ip_master"},{"location":{"location":"https://github.com/ong-wei-hong/ip.git","repoName":"ip","organization":"ong-wei-hong","domainName":"github"},"branch":"master","displayName":"ong-wei-hong/ip[master]","outputFolderName":"ong-wei-hong_ip_master"},{"location":{"location":"https://github.com/asdfghjkxd/ip.git","repoName":"ip","organization":"asdfghjkxd","domainName":"github"},"branch":"master","displayName":"asdfghjkxd/ip[master]","outputFolderName":"asdfghjkxd_ip_master"},{"location":{"location":"https://github.com/GSgiansen/ip.git","repoName":"ip","organization":"GSgiansen","domainName":"github"},"branch":"master","displayName":"GSgiansen/ip[master]","outputFolderName":"GSgiansen_ip_master"},{"location":{"location":"https://github.com/syamfarh/ip.git","repoName":"ip","organization":"syamfarh","domainName":"github"},"branch":"master","displayName":"syamfarh/ip[master]","outputFolderName":"syamfarh_ip_master"},{"location":{"location":"https://github.com/PetrichorPrecipice/ip.git","repoName":"ip","organization":"PetrichorPrecipice","domainName":"github"},"branch":"master","displayName":"PetrichorPrecipice/ip[master]","outputFolderName":"PetrichorPrecipice_ip_master"},{"location":{"location":"https://github.com/ngeeyonglim/ip.git","repoName":"ip","organization":"ngeeyonglim","domainName":"github"},"branch":"master","displayName":"ngeeyonglim/ip[master]","outputFolderName":"ngeeyonglim_ip_master"},{"location":{"location":"https://github.com/ivanleekk/ip.git","repoName":"ip","organization":"ivanleekk","domainName":"github"},"branch":"master","displayName":"ivanleekk/ip[master]","outputFolderName":"ivanleekk_ip_master"},{"location":{"location":"https://github.com/ryanozx/ip.git","repoName":"ip","organization":"ryanozx","domainName":"github"},"branch":"master","displayName":"ryanozx/ip[master]","outputFolderName":"ryanozx_ip_master"},{"location":{"location":"https://github.com/Jweewee/ip.git","repoName":"ip","organization":"Jweewee","domainName":"github"},"branch":"master","displayName":"Jweewee/ip[master]","outputFolderName":"Jweewee_ip_master"},{"location":{"location":"https://github.com/supermii2/ip.git","repoName":"ip","organization":"supermii2","domainName":"github"},"branch":"master","displayName":"supermii2/ip[master]","outputFolderName":"supermii2_ip_master"},{"location":{"location":"https://github.com/bkjwjason/ip.git","repoName":"ip","organization":"bkjwjason","domainName":"github"},"branch":"master","displayName":"bkjwjason/ip[master]","outputFolderName":"bkjwjason_ip_master"},{"location":{"location":"https://github.com/Sasmik23/ip.git","repoName":"ip","organization":"Sasmik23","domainName":"github"},"branch":"master","displayName":"Sasmik23/ip[master]","outputFolderName":"Sasmik23_ip_master"},{"location":{"location":"https://github.com/nathanielcalimag/ip.git","repoName":"ip","organization":"nathanielcalimag","domainName":"github"},"branch":"master","displayName":"nathanielcalimag/ip[master]","outputFolderName":"nathanielcalimag_ip_master"},{"location":{"location":"https://github.com/AlagappanRa/ip.git","repoName":"ip","organization":"AlagappanRa","domainName":"github"},"branch":"master","displayName":"AlagappanRa/ip[master]","outputFolderName":"AlagappanRa_ip_master"},{"location":{"location":"https://github.com/McNaBry/ip.git","repoName":"ip","organization":"McNaBry","domainName":"github"},"branch":"master","displayName":"McNaBry/ip[master]","outputFolderName":"McNaBry_ip_master"},{"location":{"location":"https://github.com/phiphi-tan/ip.git","repoName":"ip","organization":"phiphi-tan","domainName":"github"},"branch":"master","displayName":"phiphi-tan/ip[master]","outputFolderName":"phiphi-tan_ip_master"},{"location":{"location":"https://github.com/LicongHuang/ip.git","repoName":"ip","organization":"LicongHuang","domainName":"github"},"branch":"master","displayName":"LicongHuang/ip[master]","outputFolderName":"LicongHuang_ip_master"},{"location":{"location":"https://github.com/tanshiyu1999/ip.git","repoName":"ip","organization":"tanshiyu1999","domainName":"github"},"branch":"master","displayName":"tanshiyu1999/ip[master]","outputFolderName":"tanshiyu1999_ip_master"},{"location":{"location":"https://github.com/raydenlim/ip.git","repoName":"ip","organization":"raydenlim","domainName":"github"},"branch":"master","displayName":"raydenlim/ip[master]","outputFolderName":"raydenlim_ip_master"},{"location":{"location":"https://github.com/jianyangg/ip.git","repoName":"ip","organization":"jianyangg","domainName":"github"},"branch":"master","displayName":"jianyangg/ip[master]","outputFolderName":"jianyangg_ip_master"},{"location":{"location":"https://github.com/rionshocker/ip.git","repoName":"ip","organization":"rionshocker","domainName":"github"},"branch":"master","displayName":"rionshocker/ip[master]","outputFolderName":"rionshocker_ip_master"},{"location":{"location":"https://github.com/conradsoon/ip.git","repoName":"ip","organization":"conradsoon","domainName":"github"},"branch":"master","displayName":"conradsoon/ip[master]","outputFolderName":"conradsoon_ip_master"},{"location":{"location":"https://github.com/Jonyxzx/ip.git","repoName":"ip","organization":"Jonyxzx","domainName":"github"},"branch":"master","displayName":"Jonyxzx/ip[master]","outputFolderName":"Jonyxzx_ip_master"},{"location":{"location":"https://github.com/euchangxian/ip.git","repoName":"ip","organization":"euchangxian","domainName":"github"},"branch":"master","displayName":"euchangxian/ip[master]","outputFolderName":"euchangxian_ip_master"},{"location":{"location":"https://github.com/teoks0199/ip.git","repoName":"ip","organization":"teoks0199","domainName":"github"},"branch":"master","displayName":"teoks0199/ip[master]","outputFolderName":"teoks0199_ip_master"},{"location":{"location":"https://github.com/HollaG/ip.git","repoName":"ip","organization":"HollaG","domainName":"github"},"branch":"master","displayName":"HollaG/ip[master]","outputFolderName":"HollaG_ip_master"},{"location":{"location":"https://github.com/leezhengjing/ip.git","repoName":"ip","organization":"leezhengjing","domainName":"github"},"branch":"master","displayName":"leezhengjing/ip[master]","outputFolderName":"leezhengjing_ip_master"},{"location":{"location":"https://github.com/timleow/ip.git","repoName":"ip","organization":"timleow","domainName":"github"},"branch":"master","displayName":"timleow/ip[master]","outputFolderName":"timleow_ip_master"},{"location":{"location":"https://github.com/jacksonyuan256/ip.git","repoName":"ip","organization":"jacksonyuan256","domainName":"github"},"branch":"master","displayName":"jacksonyuan256/ip[master]","outputFolderName":"jacksonyuan256_ip_master"},{"location":{"location":"https://github.com/victorlaiyeeteng/ip.git","repoName":"ip","organization":"victorlaiyeeteng","domainName":"github"},"branch":"master","displayName":"victorlaiyeeteng/ip[master]","outputFolderName":"victorlaiyeeteng_ip_master"},{"location":{"location":"https://github.com/prawnzyy/ip.git","repoName":"ip","organization":"prawnzyy","domainName":"github"},"branch":"master","displayName":"prawnzyy/ip[master]","outputFolderName":"prawnzyy_ip_master"},{"location":{"location":"https://github.com/ryanongwx/ip.git","repoName":"ip","organization":"ryanongwx","domainName":"github"},"branch":"master","displayName":"ryanongwx/ip[master]","outputFolderName":"ryanongwx_ip_master"},{"location":{"location":"https://github.com/tohpinren/ip.git","repoName":"ip","organization":"tohpinren","domainName":"github"},"branch":"master","displayName":"tohpinren/ip[master]","outputFolderName":"tohpinren_ip_master"},{"location":{"location":"https://github.com/DeltonCheng/ip.git","repoName":"ip","organization":"DeltonCheng","domainName":"github"},"branch":"master","displayName":"DeltonCheng/ip[master]","outputFolderName":"DeltonCheng_ip_master"},{"location":{"location":"https://github.com/leontan2/ip.git","repoName":"ip","organization":"leontan2","domainName":"github"},"branch":"master","displayName":"leontan2/ip[master]","outputFolderName":"leontan2_ip_master"},{"location":{"location":"https://github.com/alvinlim277/ip.git","repoName":"ip","organization":"alvinlim277","domainName":"github"},"branch":"master","displayName":"alvinlim277/ip[master]","outputFolderName":"alvinlim277_ip_master"},{"location":{"location":"https://github.com/lshaoqin/ip.git","repoName":"ip","organization":"lshaoqin","domainName":"github"},"branch":"master","displayName":"lshaoqin/ip[master]","outputFolderName":"lshaoqin_ip_master"},{"location":{"location":"https://github.com/ChongWeiJie29/ip.git","repoName":"ip","organization":"ChongWeiJie29","domainName":"github"},"branch":"master","displayName":"ChongWeiJie29/ip[master]","outputFolderName":"ChongWeiJie29_ip_master"},{"location":{"location":"https://github.com/zhonghan721/ip.git","repoName":"ip","organization":"zhonghan721","domainName":"github"},"branch":"master","displayName":"zhonghan721/ip[master]","outputFolderName":"zhonghan721_ip_master"},{"location":{"location":"https://github.com/teozhengyang/ip.git","repoName":"ip","organization":"teozhengyang","domainName":"github"},"branch":"master","displayName":"teozhengyang/ip[master]","outputFolderName":"teozhengyang_ip_master"},{"location":{"location":"https://github.com/garylow2001/ip.git","repoName":"ip","organization":"garylow2001","domainName":"github"},"branch":"master","displayName":"garylow2001/ip[master]","outputFolderName":"garylow2001_ip_master"},{"location":{"location":"https://github.com/Cleon2/ip.git","repoName":"ip","organization":"Cleon2","domainName":"github"},"branch":"master","displayName":"Cleon2/ip[master]","outputFolderName":"Cleon2_ip_master"},{"location":{"location":"https://github.com/limzhenwy/ip.git","repoName":"ip","organization":"limzhenwy","domainName":"github"},"branch":"master","displayName":"limzhenwy/ip[master]","outputFolderName":"limzhenwy_ip_master"},{"location":{"location":"https://github.com/ItsTYtan/ip.git","repoName":"ip","organization":"ItsTYtan","domainName":"github"},"branch":"master","displayName":"ItsTYtan/ip[master]","outputFolderName":"ItsTYtan_ip_master"},{"location":{"location":"https://github.com/owenyeo/ip.git","repoName":"ip","organization":"owenyeo","domainName":"github"},"branch":"master","displayName":"owenyeo/ip[master]","outputFolderName":"owenyeo_ip_master"},{"location":{"location":"https://github.com/jonasongg/ip.git","repoName":"ip","organization":"jonasongg","domainName":"github"},"branch":"master","displayName":"jonasongg/ip[master]","outputFolderName":"jonasongg_ip_master"},{"location":{"location":"https://github.com/Ruizhi2001/ip.git","repoName":"ip","organization":"Ruizhi2001","domainName":"github"},"branch":"master","displayName":"Ruizhi2001/ip[master]","outputFolderName":"Ruizhi2001_ip_master"},{"location":{"location":"https://github.com/Dioclei/ip.git","repoName":"ip","organization":"Dioclei","domainName":"github"},"branch":"master","displayName":"Dioclei/ip[master]","outputFolderName":"Dioclei_ip_master"},{"location":{"location":"https://github.com/bobscodedump/ip.git","repoName":"ip","organization":"bobscodedump","domainName":"github"},"branch":"master","displayName":"bobscodedump/ip[master]","outputFolderName":"bobscodedump_ip_master"},{"location":{"location":"https://github.com/andrefoo/ip.git","repoName":"ip","organization":"andrefoo","domainName":"github"},"branch":"master","displayName":"andrefoo/ip[master]","outputFolderName":"andrefoo_ip_master"},{"location":{"location":"https://github.com/Bombbird2001/ip.git","repoName":"ip","organization":"Bombbird2001","domainName":"github"},"branch":"master","displayName":"Bombbird2001/ip[master]","outputFolderName":"Bombbird2001_ip_master"},{"location":{"location":"https://github.com/chewjh1234/ip.git","repoName":"ip","organization":"chewjh1234","domainName":"github"},"branch":"master","displayName":"chewjh1234/ip[master]","outputFolderName":"chewjh1234_ip_master"},{"location":{"location":"https://github.com/dloh2236/ip.git","repoName":"ip","organization":"dloh2236","domainName":"github"},"branch":"master","displayName":"dloh2236/ip[master]","outputFolderName":"dloh2236_ip_master"},{"location":{"location":"https://github.com/chew01/ip.git","repoName":"ip","organization":"chew01","domainName":"github"},"branch":"master","displayName":"chew01/ip[master]","outputFolderName":"chew01_ip_master"},{"location":{"location":"https://github.com/trgao/ip.git","repoName":"ip","organization":"trgao","domainName":"github"},"branch":"master","displayName":"trgao/ip[master]","outputFolderName":"trgao_ip_master"},{"location":{"location":"https://github.com/richiehx/ip.git","repoName":"ip","organization":"richiehx","domainName":"github"},"branch":"master","displayName":"richiehx/ip[master]","outputFolderName":"richiehx_ip_master"},{"location":{"location":"https://github.com/LoMaply/ip.git","repoName":"ip","organization":"LoMaply","domainName":"github"},"branch":"master","displayName":"LoMaply/ip[master]","outputFolderName":"LoMaply_ip_master"},{"location":{"location":"https://github.com/Originalidk/ip.git","repoName":"ip","organization":"Originalidk","domainName":"github"},"branch":"master","displayName":"Originalidk/ip[master]","outputFolderName":"Originalidk_ip_master"},{"location":{"location":"https://github.com/kiatkat/ip.git","repoName":"ip","organization":"kiatkat","domainName":"github"},"branch":"master","displayName":"kiatkat/ip[master]","outputFolderName":"kiatkat_ip_master"},{"location":{"location":"https://github.com/juliusgambe/ip.git","repoName":"ip","organization":"juliusgambe","domainName":"github"},"branch":"master","displayName":"juliusgambe/ip[master]","outputFolderName":"juliusgambe_ip_master"},{"location":{"location":"https://github.com/jiakai-17/ip.git","repoName":"ip","organization":"jiakai-17","domainName":"github"},"branch":"master","displayName":"jiakai-17/ip[master]","outputFolderName":"jiakai-17_ip_master"},{"location":{"location":"https://github.com/nikele2001/ip.git","repoName":"ip","organization":"nikele2001","domainName":"github"},"branch":"master","displayName":"nikele2001/ip[master]","outputFolderName":"nikele2001_ip_master"},{"location":{"location":"https://github.com/jylow/ip.git","repoName":"ip","organization":"jylow","domainName":"github"},"branch":"master","displayName":"jylow/ip[master]","outputFolderName":"jylow_ip_master"},{"location":{"location":"https://github.com/jx124/ip.git","repoName":"ip","organization":"jx124","domainName":"github"},"branch":"master","displayName":"jx124/ip[master]","outputFolderName":"jx124_ip_master"},{"location":{"location":"https://github.com/Kb-Tay/ip.git","repoName":"ip","organization":"Kb-Tay","domainName":"github"},"branch":"master","displayName":"Kb-Tay/ip[master]","outputFolderName":"Kb-Tay_ip_master"},{"location":{"location":"https://github.com/jinyuan0425/ip.git","repoName":"ip","organization":"jinyuan0425","domainName":"github"},"branch":"master","displayName":"jinyuan0425/ip[master]","outputFolderName":"jinyuan0425_ip_master"},{"location":{"location":"https://github.com/darrentfy/ip.git","repoName":"ip","organization":"darrentfy","domainName":"github"},"branch":"master","displayName":"darrentfy/ip[master]","outputFolderName":"darrentfy_ip_master"},{"location":{"location":"https://github.com/HEEaZ/ip.git","repoName":"ip","organization":"HEEaZ","domainName":"github"},"branch":"master","displayName":"HEEaZ/ip[master]","outputFolderName":"HEEaZ_ip_master"},{"location":{"location":"https://github.com/ji-just-ji/ip.git","repoName":"ip","organization":"ji-just-ji","domainName":"github"},"branch":"master","displayName":"ji-just-ji/ip[master]","outputFolderName":"ji-just-ji_ip_master"},{"location":{"location":"https://github.com/simbayippy/ip.git","repoName":"ip","organization":"simbayippy","domainName":"github"},"branch":"master","displayName":"simbayippy/ip[master]","outputFolderName":"simbayippy_ip_master"},{"location":{"location":"https://github.com/teozern1/ip.git","repoName":"ip","organization":"teozern1","domainName":"github"},"branch":"master","displayName":"teozern1/ip[master]","outputFolderName":"teozern1_ip_master"},{"location":{"location":"https://github.com/brein62/ip.git","repoName":"ip","organization":"brein62","domainName":"github"},"branch":"master","displayName":"brein62/ip[master]","outputFolderName":"brein62_ip_master"},{"location":{"location":"https://github.com/awhb/ip.git","repoName":"ip","organization":"awhb","domainName":"github"},"branch":"master","displayName":"awhb/ip[master]","outputFolderName":"awhb_ip_master"},{"location":{"location":"https://github.com/Mahidharah/ip.git","repoName":"ip","organization":"Mahidharah","domainName":"github"},"branch":"master","displayName":"Mahidharah/ip[master]","outputFolderName":"Mahidharah_ip_master"},{"location":{"location":"https://github.com/timetraveller-123/ip.git","repoName":"ip","organization":"timetraveller-123","domainName":"github"},"branch":"master","displayName":"timetraveller-123/ip[master]","outputFolderName":"timetraveller-123_ip_master"},{"location":{"location":"https://github.com/ElginTZM/ip.git","repoName":"ip","organization":"ElginTZM","domainName":"github"},"branch":"master","displayName":"ElginTZM/ip[master]","outputFolderName":"ElginTZM_ip_master"},{"location":{"location":"https://github.com/ryamgoh/ip.git","repoName":"ip","organization":"ryamgoh","domainName":"github"},"branch":"master","displayName":"ryamgoh/ip[master]","outputFolderName":"ryamgoh_ip_master"},{"location":{"location":"https://github.com/Blizzeracz/ip.git","repoName":"ip","organization":"Blizzeracz","domainName":"github"},"branch":"master","displayName":"Blizzeracz/ip[master]","outputFolderName":"Blizzeracz_ip_master"},{"location":{"location":"https://github.com/kiwibang/ip.git","repoName":"ip","organization":"kiwibang","domainName":"github"},"branch":"master","displayName":"kiwibang/ip[master]","outputFolderName":"kiwibang_ip_master"},{"location":{"location":"https://github.com/redtailedfox/ip.git","repoName":"ip","organization":"redtailedfox","domainName":"github"},"branch":"master","displayName":"redtailedfox/ip[master]","outputFolderName":"redtailedfox_ip_master"},{"location":{"location":"https://github.com/lamchenghou/ip.git","repoName":"ip","organization":"lamchenghou","domainName":"github"},"branch":"master","displayName":"lamchenghou/ip[master]","outputFolderName":"lamchenghou_ip_master"},{"location":{"location":"https://github.com/gongg21/ip.git","repoName":"ip","organization":"gongg21","domainName":"github"},"branch":"master","displayName":"gongg21/ip[master]","outputFolderName":"gongg21_ip_master"},{"location":{"location":"https://github.com/CJ-Lee01/ip.git","repoName":"ip","organization":"CJ-Lee01","domainName":"github"},"branch":"master","displayName":"CJ-Lee01/ip[master]","outputFolderName":"CJ-Lee01_ip_master"},{"location":{"location":"https://github.com/Sheeepen/ip.git","repoName":"ip","organization":"Sheeepen","domainName":"github"},"branch":"master","displayName":"Sheeepen/ip[master]","outputFolderName":"Sheeepen_ip_master"},{"location":{"location":"https://github.com/AaronJT1/ip.git","repoName":"ip","organization":"AaronJT1","domainName":"github"},"branch":"master","displayName":"AaronJT1/ip[master]","outputFolderName":"AaronJT1_ip_master"},{"location":{"location":"https://github.com/Respirayson/ip.git","repoName":"ip","organization":"Respirayson","domainName":"github"},"branch":"master","displayName":"Respirayson/ip[master]","outputFolderName":"Respirayson_ip_master"},{"location":{"location":"https://github.com/dickongwd/ip.git","repoName":"ip","organization":"dickongwd","domainName":"github"},"branch":"master","displayName":"dickongwd/ip[master]","outputFolderName":"dickongwd_ip_master"},{"location":{"location":"https://github.com/nicholascher/ip.git","repoName":"ip","organization":"nicholascher","domainName":"github"},"branch":"master","displayName":"nicholascher/ip[master]","outputFolderName":"nicholascher_ip_master"},{"location":{"location":"https://github.com/et-irl/ip.git","repoName":"ip","organization":"et-irl","domainName":"github"},"branch":"master","displayName":"et-irl/ip[master]","outputFolderName":"et-irl_ip_master"},{"location":{"location":"https://github.com/aslam341/ip.git","repoName":"ip","organization":"aslam341","domainName":"github"},"branch":"master","displayName":"aslam341/ip[master]","outputFolderName":"aslam341_ip_master"},{"location":{"location":"https://github.com/seantehds/ip.git","repoName":"ip","organization":"seantehds","domainName":"github"},"branch":"master","displayName":"seantehds/ip[master]","outputFolderName":"seantehds_ip_master"},{"location":{"location":"https://github.com/jianrong7/ip.git","repoName":"ip","organization":"jianrong7","domainName":"github"},"branch":"master","displayName":"jianrong7/ip[master]","outputFolderName":"jianrong7_ip_master"},{"location":{"location":"https://github.com/TeeRenJing/ip.git","repoName":"ip","organization":"TeeRenJing","domainName":"github"},"branch":"master","displayName":"TeeRenJing/ip[master]","outputFolderName":"TeeRenJing_ip_master"},{"location":{"location":"https://github.com/RoeReRe/ip.git","repoName":"ip","organization":"RoeReRe","domainName":"github"},"branch":"master","displayName":"RoeReRe/ip[master]","outputFolderName":"RoeReRe_ip_master"},{"location":{"location":"https://github.com/zsh-eng/ip.git","repoName":"ip","organization":"zsh-eng","domainName":"github"},"branch":"master","displayName":"zsh-eng/ip[master]","outputFolderName":"zsh-eng_ip_master"},{"location":{"location":"https://github.com/seanpzk/ip.git","repoName":"ip","organization":"seanpzk","domainName":"github"},"branch":"master","displayName":"seanpzk/ip[master]","outputFolderName":"seanpzk_ip_master"},{"location":{"location":"https://github.com/quzhetao01/ip.git","repoName":"ip","organization":"quzhetao01","domainName":"github"},"branch":"master","displayName":"quzhetao01/ip[master]","outputFolderName":"quzhetao01_ip_master"},{"location":{"location":"https://github.com/joel-foo/ip.git","repoName":"ip","organization":"joel-foo","domainName":"github"},"branch":"master","displayName":"joel-foo/ip[master]","outputFolderName":"joel-foo_ip_master"},{"location":{"location":"https://github.com/markgcera/ip.git","repoName":"ip","organization":"markgcera","domainName":"github"},"branch":"master","displayName":"markgcera/ip[master]","outputFolderName":"markgcera_ip_master"},{"location":{"location":"https://github.com/dylkaw/ip.git","repoName":"ip","organization":"dylkaw","domainName":"github"},"branch":"master","displayName":"dylkaw/ip[master]","outputFolderName":"dylkaw_ip_master"},{"location":{"location":"https://github.com/SelwynAng/ip.git","repoName":"ip","organization":"SelwynAng","domainName":"github"},"branch":"master","displayName":"SelwynAng/ip[master]","outputFolderName":"SelwynAng_ip_master"},{"location":{"location":"https://github.com/jinyang628/ip.git","repoName":"ip","organization":"jinyang628","domainName":"github"},"branch":"master","displayName":"jinyang628/ip[master]","outputFolderName":"jinyang628_ip_master"},{"location":{"location":"https://github.com/matochichap/ip.git","repoName":"ip","organization":"matochichap","domainName":"github"},"branch":"master","displayName":"matochichap/ip[master]","outputFolderName":"matochichap_ip_master"},{"location":{"location":"https://github.com/sk2001git/ip.git","repoName":"ip","organization":"sk2001git","domainName":"github"},"branch":"master","displayName":"sk2001git/ip[master]","outputFolderName":"sk2001git_ip_master"},{"location":{"location":"https://github.com/jason-raiin/ip.git","repoName":"ip","organization":"jason-raiin","domainName":"github"},"branch":"master","displayName":"jason-raiin/ip[master]","outputFolderName":"jason-raiin_ip_master"},{"location":{"location":"https://github.com/Sebtey/ip.git","repoName":"ip","organization":"Sebtey","domainName":"github"},"branch":"master","displayName":"Sebtey/ip[master]","outputFolderName":"Sebtey_ip_master"},{"location":{"location":"https://github.com/Jweng88/ip.git","repoName":"ip","organization":"Jweng88","domainName":"github"},"branch":"master","displayName":"Jweng88/ip[master]","outputFolderName":"Jweng88_ip_master"},{"location":{"location":"https://github.com/billieboy7/ip.git","repoName":"ip","organization":"billieboy7","domainName":"github"},"branch":"master","displayName":"billieboy7/ip[master]","outputFolderName":"billieboy7_ip_master"},{"location":{"location":"https://github.com/ldinghan/ip.git","repoName":"ip","organization":"ldinghan","domainName":"github"},"branch":"master","displayName":"ldinghan/ip[master]","outputFolderName":"ldinghan_ip_master"},{"location":{"location":"https://github.com/anthonytamzil/ip.git","repoName":"ip","organization":"anthonytamzil","domainName":"github"},"branch":"master","displayName":"anthonytamzil/ip[master]","outputFolderName":"anthonytamzil_ip_master"},{"location":{"location":"https://github.com/ryantzr1/ip.git","repoName":"ip","organization":"ryantzr1","domainName":"github"},"branch":"master","displayName":"ryantzr1/ip[master]","outputFolderName":"ryantzr1_ip_master"},{"location":{"location":"https://github.com/shuyangk/ip.git","repoName":"ip","organization":"shuyangk","domainName":"github"},"branch":"master","displayName":"shuyangk/ip[master]","outputFolderName":"shuyangk_ip_master"},{"location":{"location":"https://github.com/seewhyjay/ip.git","repoName":"ip","organization":"seewhyjay","domainName":"github"},"branch":"master","displayName":"seewhyjay/ip[master]","outputFolderName":"seewhyjay_ip_master"},{"location":{"location":"https://github.com/waseemingly/ip.git","repoName":"ip","organization":"waseemingly","domainName":"github"},"branch":"master","displayName":"waseemingly/ip[master]","outputFolderName":"waseemingly_ip_master"},{"location":{"location":"https://github.com/DistractedCat/ip.git","repoName":"ip","organization":"DistractedCat","domainName":"github"},"branch":"master","displayName":"DistractedCat/ip[master]","outputFolderName":"DistractedCat_ip_master"},{"location":{"location":"https://github.com/geraldngjx/ip.git","repoName":"ip","organization":"geraldngjx","domainName":"github"},"branch":"master","displayName":"geraldngjx/ip[master]","outputFolderName":"geraldngjx_ip_master"},{"location":{"location":"https://github.com/tayian/ip.git","repoName":"ip","organization":"tayian","domainName":"github"},"branch":"master","displayName":"tayian/ip[master]","outputFolderName":"tayian_ip_master"},{"location":{"location":"https://github.com/AlfredBeNoel/ip.git","repoName":"ip","organization":"AlfredBeNoel","domainName":"github"},"branch":"master","displayName":"AlfredBeNoel/ip[master]","outputFolderName":"AlfredBeNoel_ip_master"},{"location":{"location":"https://github.com/Chen1x/ip.git","repoName":"ip","organization":"Chen1x","domainName":"github"},"branch":"master","displayName":"Chen1x/ip[master]","outputFolderName":"Chen1x_ip_master"},{"location":{"location":"https://github.com/juzzztinsoong/ip.git","repoName":"ip","organization":"juzzztinsoong","domainName":"github"},"branch":"master","displayName":"juzzztinsoong/ip[master]","outputFolderName":"juzzztinsoong_ip_master"},{"location":{"location":"https://github.com/lambraydon/ip.git","repoName":"ip","organization":"lambraydon","domainName":"github"},"branch":"master","displayName":"lambraydon/ip[master]","outputFolderName":"lambraydon_ip_master"},{"location":{"location":"https://github.com/lilozz2/ip.git","repoName":"ip","organization":"lilozz2","domainName":"github"},"branch":"master","displayName":"lilozz2/ip[master]","outputFolderName":"lilozz2_ip_master"},{"location":{"location":"https://github.com/tyouwei/ip.git","repoName":"ip","organization":"tyouwei","domainName":"github"},"branch":"master","displayName":"tyouwei/ip[master]","outputFolderName":"tyouwei_ip_master"},{"location":{"location":"https://github.com/Kailash201/ip.git","repoName":"ip","organization":"Kailash201","domainName":"github"},"branch":"master","displayName":"Kailash201/ip[master]","outputFolderName":"Kailash201_ip_master"},{"location":{"location":"https://github.com/tjingsheng/ip.git","repoName":"ip","organization":"tjingsheng","domainName":"github"},"branch":"master","displayName":"tjingsheng/ip[master]","outputFolderName":"tjingsheng_ip_master"},{"location":{"location":"https://github.com/pangyyen/ip.git","repoName":"ip","organization":"pangyyen","domainName":"github"},"branch":"master","displayName":"pangyyen/ip[master]","outputFolderName":"pangyyen_ip_master"},{"location":{"location":"https://github.com/Khaleelur-Rahman/ip.git","repoName":"ip","organization":"Khaleelur-Rahman","domainName":"github"},"branch":"master","displayName":"Khaleelur-Rahman/ip[master]","outputFolderName":"Khaleelur-Rahman_ip_master"},{"location":{"location":"https://github.com/erohsikivar/ip.git","repoName":"ip","organization":"erohsikivar","domainName":"github"},"branch":"master","displayName":"erohsikivar/ip[master]","outputFolderName":"erohsikivar_ip_master"},{"location":{"location":"https://github.com/shishirbychapur/ip.git","repoName":"ip","organization":"shishirbychapur","domainName":"github"},"branch":"master","displayName":"shishirbychapur/ip[master]","outputFolderName":"shishirbychapur_ip_master"},{"location":{"location":"https://github.com/Badatprogrammiing/ip.git","repoName":"ip","organization":"Badatprogrammiing","domainName":"github"},"branch":"master","displayName":"Badatprogrammiing/ip[master]","outputFolderName":"Badatprogrammiing_ip_master"},{"location":{"location":"https://github.com/Angelyxx/ip.git","repoName":"ip","organization":"Angelyxx","domainName":"github"},"branch":"master","displayName":"Angelyxx/ip[master]","outputFolderName":"Angelyxx_ip_master"},{"location":{"location":"https://github.com/ravern/ip.git","repoName":"ip","organization":"ravern","domainName":"github"},"branch":"master","displayName":"ravern/ip[master]","outputFolderName":"ravern_ip_master"},{"location":{"location":"https://github.com/B-enguin/ip.git","repoName":"ip","organization":"B-enguin","domainName":"github"},"branch":"master","displayName":"B-enguin/ip[master]","outputFolderName":"B-enguin_ip_master"},{"location":{"location":"https://github.com/AlyssaPng/ip.git","repoName":"ip","organization":"AlyssaPng","domainName":"github"},"branch":"master","displayName":"AlyssaPng/ip[master]","outputFolderName":"AlyssaPng_ip_master"},{"location":{"location":"https://github.com/flexibo/ip.git","repoName":"ip","organization":"flexibo","domainName":"github"},"branch":"master","displayName":"flexibo/ip[master]","outputFolderName":"flexibo_ip_master"},{"location":{"location":"https://github.com/lordidiot/ip.git","repoName":"ip","organization":"lordidiot","domainName":"github"},"branch":"master","displayName":"lordidiot/ip[master]","outputFolderName":"lordidiot_ip_master"},{"location":{"location":"https://github.com/vansh284/ip.git","repoName":"ip","organization":"vansh284","domainName":"github"},"branch":"master","displayName":"vansh284/ip[master]","outputFolderName":"vansh284_ip_master"},{"location":{"location":"https://github.com/samuelim01/ip.git","repoName":"ip","organization":"samuelim01","domainName":"github"},"branch":"master","displayName":"samuelim01/ip[master]","outputFolderName":"samuelim01_ip_master"},{"location":{"location":"https://github.com/WZWren/ip.git","repoName":"ip","organization":"WZWren","domainName":"github"},"branch":"master","displayName":"WZWren/ip[master]","outputFolderName":"WZWren_ip_master"},{"location":{"location":"https://github.com/cxo05/ip.git","repoName":"ip","organization":"cxo05","domainName":"github"},"branch":"master","displayName":"cxo05/ip[master]","outputFolderName":"cxo05_ip_master"},{"location":{"location":"https://github.com/sudarshan2401/ip.git","repoName":"ip","organization":"sudarshan2401","domainName":"github"},"branch":"master","displayName":"sudarshan2401/ip[master]","outputFolderName":"sudarshan2401_ip_master"},{"location":{"location":"https://github.com/jingyu987/ip.git","repoName":"ip","organization":"jingyu987","domainName":"github"},"branch":"master","displayName":"jingyu987/ip[master]","outputFolderName":"jingyu987_ip_master"},{"location":{"location":"https://github.com/H1410101/ip.git","repoName":"ip","organization":"H1410101","domainName":"github"},"branch":"master","displayName":"H1410101/ip[master]","outputFolderName":"H1410101_ip_master"},{"location":{"location":"https://github.com/MagnificentCreature/ip.git","repoName":"ip","organization":"MagnificentCreature","domainName":"github"},"branch":"master","displayName":"MagnificentCreature/ip[master]","outputFolderName":"MagnificentCreature_ip_master"},{"location":{"location":"https://github.com/shyanyong/ip.git","repoName":"ip","organization":"shyanyong","domainName":"github"},"branch":"master","displayName":"shyanyong/ip[master]","outputFolderName":"shyanyong_ip_master"},{"location":{"location":"https://github.com/peasantbird/ip.git","repoName":"ip","organization":"peasantbird","domainName":"github"},"branch":"master","displayName":"peasantbird/ip[master]","outputFolderName":"peasantbird_ip_master"},{"location":{"location":"https://github.com/tllshan/ip.git","repoName":"ip","organization":"tllshan","domainName":"github"},"branch":"master","displayName":"tllshan/ip[master]","outputFolderName":"tllshan_ip_master"},{"location":{"location":"https://github.com/sushiyade/ip.git","repoName":"ip","organization":"sushiyade","domainName":"github"},"branch":"master","displayName":"sushiyade/ip[master]","outputFolderName":"sushiyade_ip_master"},{"location":{"location":"https://github.com/iyioon/ip.git","repoName":"ip","organization":"iyioon","domainName":"github"},"branch":"master","displayName":"iyioon/ip[master]","outputFolderName":"iyioon_ip_master"},{"location":{"location":"https://github.com/shashahchk/ip.git","repoName":"ip","organization":"shashahchk","domainName":"github"},"branch":"master","displayName":"shashahchk/ip[master]","outputFolderName":"shashahchk_ip_master"},{"location":{"location":"https://github.com/Chandan8186/ip.git","repoName":"ip","organization":"Chandan8186","domainName":"github"},"branch":"master","displayName":"Chandan8186/ip[master]","outputFolderName":"Chandan8186_ip_master"},{"location":{"location":"https://github.com/wesho1107/ip.git","repoName":"ip","organization":"wesho1107","domainName":"github"},"branch":"master","displayName":"wesho1107/ip[master]","outputFolderName":"wesho1107_ip_master"},{"location":{"location":"https://github.com/tim-pipi/ip.git","repoName":"ip","organization":"tim-pipi","domainName":"github"},"branch":"master","displayName":"tim-pipi/ip[master]","outputFolderName":"tim-pipi_ip_master"},{"location":{"location":"https://github.com/emzm2023/ip.git","repoName":"ip","organization":"emzm2023","domainName":"github"},"branch":"master","displayName":"emzm2023/ip[master]","outputFolderName":"emzm2023_ip_master"},{"location":{"location":"https://github.com/dlathyun/ip.git","repoName":"ip","organization":"dlathyun","domainName":"github"},"branch":"master","displayName":"dlathyun/ip[master]","outputFolderName":"dlathyun_ip_master"},{"location":{"location":"https://github.com/tanboonkhong/ip.git","repoName":"ip","organization":"tanboonkhong","domainName":"github"},"branch":"master","displayName":"tanboonkhong/ip[master]","outputFolderName":"tanboonkhong_ip_master"},{"location":{"location":"https://github.com/joeng03/ip.git","repoName":"ip","organization":"joeng03","domainName":"github"},"branch":"master","displayName":"joeng03/ip[master]","outputFolderName":"joeng03_ip_master"},{"location":{"location":"https://github.com/VN-Hao/ip.git","repoName":"ip","organization":"VN-Hao","domainName":"github"},"branch":"master","displayName":"VN-Hao/ip[master]","outputFolderName":"VN-Hao_ip_master"},{"location":{"location":"https://github.com/NgChunMan/ip.git","repoName":"ip","organization":"NgChunMan","domainName":"github"},"branch":"master","displayName":"NgChunMan/ip[master]","outputFolderName":"NgChunMan_ip_master"},{"location":{"location":"https://github.com/TiwKangXu/ip.git","repoName":"ip","organization":"TiwKangXu","domainName":"github"},"branch":"master","displayName":"TiwKangXu/ip[master]","outputFolderName":"TiwKangXu_ip_master"},{"location":{"location":"https://github.com/josepholim/ip.git","repoName":"ip","organization":"josepholim","domainName":"github"},"branch":"master","displayName":"josepholim/ip[master]","outputFolderName":"josepholim_ip_master"},{"location":{"location":"https://github.com/dinde2004/ip.git","repoName":"ip","organization":"dinde2004","domainName":"github"},"branch":"master","displayName":"dinde2004/ip[master]","outputFolderName":"dinde2004_ip_master"},{"location":{"location":"https://github.com/yucongkoo/ip.git","repoName":"ip","organization":"yucongkoo","domainName":"github"},"branch":"master","displayName":"yucongkoo/ip[master]","outputFolderName":"yucongkoo_ip_master"},{"location":{"location":"https://github.com/TohLiYuan/ip.git","repoName":"ip","organization":"TohLiYuan","domainName":"github"},"branch":"master","displayName":"TohLiYuan/ip[master]","outputFolderName":"TohLiYuan_ip_master"},{"location":{"location":"https://github.com/NereusWB922/ip.git","repoName":"ip","organization":"NereusWB922","domainName":"github"},"branch":"master","displayName":"NereusWB922/ip[master]","outputFolderName":"NereusWB922_ip_master"},{"location":{"location":"https://github.com/ph-nathan/ip.git","repoName":"ip","organization":"ph-nathan","domainName":"github"},"branch":"master","displayName":"ph-nathan/ip[master]","outputFolderName":"ph-nathan_ip_master"},{"location":{"location":"https://github.com/antonTan96/ip.git","repoName":"ip","organization":"antonTan96","domainName":"github"},"branch":"master","displayName":"antonTan96/ip[master]","outputFolderName":"antonTan96_ip_master"},{"location":{"location":"https://github.com/WinstonLeonard/ip.git","repoName":"ip","organization":"WinstonLeonard","domainName":"github"},"branch":"master","displayName":"WinstonLeonard/ip[master]","outputFolderName":"WinstonLeonard_ip_master"},{"location":{"location":"https://github.com/TehOPanas/ip.git","repoName":"ip","organization":"TehOPanas","domainName":"github"},"branch":"master","displayName":"TehOPanas/ip[master]","outputFolderName":"TehOPanas_ip_master"},{"location":{"location":"https://github.com/marioalvaro/ip.git","repoName":"ip","organization":"marioalvaro","domainName":"github"},"branch":"master","displayName":"marioalvaro/ip[master]","outputFolderName":"marioalvaro_ip_master"},{"location":{"location":"https://github.com/LINCHENYU2030S/ip.git","repoName":"ip","organization":"LINCHENYU2030S","domainName":"github"},"branch":"master","displayName":"LINCHENYU2030S/ip[master]","outputFolderName":"LINCHENYU2030S_ip_master"},{"location":{"location":"https://github.com/LamJiuFong/ip.git","repoName":"ip","organization":"LamJiuFong","domainName":"github"},"branch":"master","displayName":"LamJiuFong/ip[master]","outputFolderName":"LamJiuFong_ip_master"},{"location":{"location":"https://github.com/AndrewJanong/ip.git","repoName":"ip","organization":"AndrewJanong","domainName":"github"},"branch":"master","displayName":"AndrewJanong/ip[master]","outputFolderName":"AndrewJanong_ip_master"},{"location":{"location":"https://github.com/songfangyl/ip.git","repoName":"ip","organization":"songfangyl","domainName":"github"},"branch":"master","displayName":"songfangyl/ip[master]","outputFolderName":"songfangyl_ip_master"},{"location":{"location":"https://github.com/AriellaCallista/ip.git","repoName":"ip","organization":"AriellaCallista","domainName":"github"},"branch":"master","displayName":"AriellaCallista/ip[master]","outputFolderName":"AriellaCallista_ip_master"},{"location":{"location":"https://github.com/KamJiaYue/ip.git","repoName":"ip","organization":"KamJiaYue","domainName":"github"},"branch":"master","displayName":"KamJiaYue/ip[master]","outputFolderName":"KamJiaYue_ip_master"},{"location":{"location":"https://github.com/feifeiraindrops/ip.git","repoName":"ip","organization":"feifeiraindrops","domainName":"github"},"branch":"master","displayName":"feifeiraindrops/ip[master]","outputFolderName":"feifeiraindrops_ip_master"},{"location":{"location":"https://github.com/czhiruo/ip.git","repoName":"ip","organization":"czhiruo","domainName":"github"},"branch":"master","displayName":"czhiruo/ip[master]","outputFolderName":"czhiruo_ip_master"},{"location":{"location":"https://github.com/butteredyakiimo/ip.git","repoName":"ip","organization":"butteredyakiimo","domainName":"github"},"branch":"master","displayName":"butteredyakiimo/ip[master]","outputFolderName":"butteredyakiimo_ip_master"},{"location":{"location":"https://github.com/RiyaMehta2211/ip.git","repoName":"ip","organization":"RiyaMehta2211","domainName":"github"},"branch":"master","displayName":"RiyaMehta2211/ip[master]","outputFolderName":"RiyaMehta2211_ip_master"},{"location":{"location":"https://github.com/beatricecst/ip.git","repoName":"ip","organization":"beatricecst","domainName":"github"},"branch":"master","displayName":"beatricecst/ip[master]","outputFolderName":"beatricecst_ip_master"},{"location":{"location":"https://github.com/maypfv/ip.git","repoName":"ip","organization":"maypfv","domainName":"github"},"branch":"master","displayName":"maypfv/ip[master]","outputFolderName":"maypfv_ip_master"},{"location":{"location":"https://github.com/pra-navi/ip.git","repoName":"ip","organization":"pra-navi","domainName":"github"},"branch":"master","displayName":"pra-navi/ip[master]","outputFolderName":"pra-navi_ip_master"},{"location":{"location":"https://github.com/xxiaoweii/ip.git","repoName":"ip","organization":"xxiaoweii","domainName":"github"},"branch":"master","displayName":"xxiaoweii/ip[master]","outputFolderName":"xxiaoweii_ip_master"},{"location":{"location":"https://github.com/qyaner/ip.git","repoName":"ip","organization":"qyaner","domainName":"github"},"branch":"master","displayName":"qyaner/ip[master]","outputFolderName":"qyaner_ip_master"},{"location":{"location":"https://github.com/qz1004/ip.git","repoName":"ip","organization":"qz1004","domainName":"github"},"branch":"master","displayName":"qz1004/ip[master]","outputFolderName":"qz1004_ip_master"},{"location":{"location":"https://github.com/miljyy/ip.git","repoName":"ip","organization":"miljyy","domainName":"github"},"branch":"master","displayName":"miljyy/ip[master]","outputFolderName":"miljyy_ip_master"},{"location":{"location":"https://github.com/yihfei/ip.git","repoName":"ip","organization":"yihfei","domainName":"github"},"branch":"master","displayName":"yihfei/ip[master]","outputFolderName":"yihfei_ip_master"},{"location":{"location":"https://github.com/Gabriel4357/ip.git","repoName":"ip","organization":"Gabriel4357","domainName":"github"},"branch":"master","displayName":"Gabriel4357/ip[master]","outputFolderName":"Gabriel4357_ip_master"},{"location":{"location":"https://github.com/saraozn/ip.git","repoName":"ip","organization":"saraozn","domainName":"github"},"branch":"master","displayName":"saraozn/ip[master]","outputFolderName":"saraozn_ip_master"},{"location":{"location":"https://github.com/JeremyYong128/ip.git","repoName":"ip","organization":"JeremyYong128","domainName":"github"},"branch":"master","displayName":"JeremyYong128/ip[master]","outputFolderName":"JeremyYong128_ip_master"},{"location":{"location":"https://github.com/samuelmui8/ip.git","repoName":"ip","organization":"samuelmui8","domainName":"github"},"branch":"master","displayName":"samuelmui8/ip[master]","outputFolderName":"samuelmui8_ip_master"},{"location":{"location":"https://github.com/elaineshijie/ip.git","repoName":"ip","organization":"elaineshijie","domainName":"github"},"branch":"master","displayName":"elaineshijie/ip[master]","outputFolderName":"elaineshijie_ip_master"},{"location":{"location":"https://github.com/zhengyup/ip.git","repoName":"ip","organization":"zhengyup","domainName":"github"},"branch":"master","displayName":"zhengyup/ip[master]","outputFolderName":"zhengyup_ip_master"},{"location":{"location":"https://github.com/ruishanteo/ip.git","repoName":"ip","organization":"ruishanteo","domainName":"github"},"branch":"master","displayName":"ruishanteo/ip[master]","outputFolderName":"ruishanteo_ip_master"},{"location":{"location":"https://github.com/lynnlow175/ip.git","repoName":"ip","organization":"lynnlow175","domainName":"github"},"branch":"master","displayName":"lynnlow175/ip[master]","outputFolderName":"lynnlow175_ip_master"},{"location":{"location":"https://github.com/kohkaijie/ip.git","repoName":"ip","organization":"kohkaijie","domainName":"github"},"branch":"master","displayName":"kohkaijie/ip[master]","outputFolderName":"kohkaijie_ip_master"},{"location":{"location":"https://github.com/CelestineTan03/ip.git","repoName":"ip","organization":"CelestineTan03","domainName":"github"},"branch":"master","displayName":"CelestineTan03/ip[master]","outputFolderName":"CelestineTan03_ip_master"},{"location":{"location":"https://github.com/PearlynnT/ip.git","repoName":"ip","organization":"PearlynnT","domainName":"github"},"branch":"master","displayName":"PearlynnT/ip[master]","outputFolderName":"PearlynnT_ip_master"},{"location":{"location":"https://github.com/Elijah5399/ip.git","repoName":"ip","organization":"Elijah5399","domainName":"github"},"branch":"master","displayName":"Elijah5399/ip[master]","outputFolderName":"Elijah5399_ip_master"},{"location":{"location":"https://github.com/nicleongyj/ip.git","repoName":"ip","organization":"nicleongyj","domainName":"github"},"branch":"master","displayName":"nicleongyj/ip[master]","outputFolderName":"nicleongyj_ip_master"},{"location":{"location":"https://github.com/AnnabelTing/ip.git","repoName":"ip","organization":"AnnabelTing","domainName":"github"},"branch":"master","displayName":"AnnabelTing/ip[master]","outputFolderName":"AnnabelTing_ip_master"},{"location":{"location":"https://github.com/jrchoo/ip.git","repoName":"ip","organization":"jrchoo","domainName":"github"},"branch":"master","displayName":"jrchoo/ip[master]","outputFolderName":"jrchoo_ip_master"},{"location":{"location":"https://github.com/wujy28/ip.git","repoName":"ip","organization":"wujy28","domainName":"github"},"branch":"master","displayName":"wujy28/ip[master]","outputFolderName":"wujy28_ip_master"},{"location":{"location":"https://github.com/Nauxe/ip.git","repoName":"ip","organization":"Nauxe","domainName":"github"},"branch":"master","displayName":"Nauxe/ip[master]","outputFolderName":"Nauxe_ip_master"},{"location":{"location":"https://github.com/yyyaohhh/ip.git","repoName":"ip","organization":"yyyaohhh","domainName":"github"},"branch":"master","displayName":"yyyaohhh/ip[master]","outputFolderName":"yyyaohhh_ip_master"},{"location":{"location":"https://github.com/xenosf/ip.git","repoName":"ip","organization":"xenosf","domainName":"github"},"branch":"master","displayName":"xenosf/ip[master]","outputFolderName":"xenosf_ip_master"},{"location":{"location":"https://github.com/WinSheng1/ip.git","repoName":"ip","organization":"WinSheng1","domainName":"github"},"branch":"master","displayName":"WinSheng1/ip[master]","outputFolderName":"WinSheng1_ip_master"},{"location":{"location":"https://github.com/nreHieW/ip.git","repoName":"ip","organization":"nreHieW","domainName":"github"},"branch":"master","displayName":"nreHieW/ip[master]","outputFolderName":"nreHieW_ip_master"},{"location":{"location":"https://github.com/peiran18/ip.git","repoName":"ip","organization":"peiran18","domainName":"github"},"branch":"master","displayName":"peiran18/ip[master]","outputFolderName":"peiran18_ip_master"},{"location":{"location":"https://github.com/cheeggered/ip.git","repoName":"ip","organization":"cheeggered","domainName":"github"},"branch":"master","displayName":"cheeggered/ip[master]","outputFolderName":"cheeggered_ip_master"},{"location":{"location":"https://github.com/GohTengFong/ip.git","repoName":"ip","organization":"GohTengFong","domainName":"github"},"branch":"master","displayName":"GohTengFong/ip[master]","outputFolderName":"GohTengFong_ip_master"},{"location":{"location":"https://github.com/jibtaf/ip.git","repoName":"ip","organization":"jibtaf","domainName":"github"},"branch":"master","displayName":"jibtaf/ip[master]","outputFolderName":"jibtaf_ip_master"},{"location":{"location":"https://github.com/bhnuka/ip.git","repoName":"ip","organization":"bhnuka","domainName":"github"},"branch":"master","displayName":"bhnuka/ip[master]","outputFolderName":"bhnuka_ip_master"},{"location":{"location":"https://github.com/laurenlim2112/ip.git","repoName":"ip","organization":"laurenlim2112","domainName":"github"},"branch":"master","displayName":"laurenlim2112/ip[master]","outputFolderName":"laurenlim2112_ip_master"},{"location":{"location":"https://github.com/howenc/ip.git","repoName":"ip","organization":"howenc","domainName":"github"},"branch":"master","displayName":"howenc/ip[master]","outputFolderName":"howenc_ip_master"},{"location":{"location":"https://github.com/Kokseng1/ip.git","repoName":"ip","organization":"Kokseng1","domainName":"github"},"branch":"master","displayName":"Kokseng1/ip[master]","outputFolderName":"Kokseng1_ip_master"},{"location":{"location":"https://github.com/yiwen101/ip.git","repoName":"ip","organization":"yiwen101","domainName":"github"},"branch":"master","displayName":"yiwen101/ip[master]","outputFolderName":"yiwen101_ip_master"},{"location":{"location":"https://github.com/Cikguseven/ip.git","repoName":"ip","organization":"Cikguseven","domainName":"github"},"branch":"master","displayName":"Cikguseven/ip[master]","outputFolderName":"Cikguseven_ip_master"},{"location":{"location":"https://github.com/javinchua/ip.git","repoName":"ip","organization":"javinchua","domainName":"github"},"branch":"master","displayName":"javinchua/ip[master]","outputFolderName":"javinchua_ip_master"},{"location":{"location":"https://github.com/frrrrry/ip.git","repoName":"ip","organization":"frrrrry","domainName":"github"},"branch":"master","displayName":"frrrrry/ip[master]","outputFolderName":"frrrrry_ip_master"},{"location":{"location":"https://github.com/YeoBohShin/ip.git","repoName":"ip","organization":"YeoBohShin","domainName":"github"},"branch":"master","displayName":"YeoBohShin/ip[master]","outputFolderName":"YeoBohShin_ip_master"},{"location":{"location":"https://github.com/yongning0310/ip.git","repoName":"ip","organization":"yongning0310","domainName":"github"},"branch":"master","displayName":"yongning0310/ip[master]","outputFolderName":"yongning0310_ip_master"},{"location":{"location":"https://github.com/SimWPEric/ip.git","repoName":"ip","organization":"SimWPEric","domainName":"github"},"branch":"master","displayName":"SimWPEric/ip[master]","outputFolderName":"SimWPEric_ip_master"},{"location":{"location":"https://github.com/sopa301/ip.git","repoName":"ip","organization":"sopa301","domainName":"github"},"branch":"master","displayName":"sopa301/ip[master]","outputFolderName":"sopa301_ip_master"},{"location":{"location":"https://github.com/nananakx-x/ip.git","repoName":"ip","organization":"nananakx-x","domainName":"github"},"branch":"master","displayName":"nananakx-x/ip[master]","outputFolderName":"nananakx-x_ip_master"},{"location":{"location":"https://github.com/LuoZYi/ip.git","repoName":"ip","organization":"LuoZYi","domainName":"github"},"branch":"master","displayName":"LuoZYi/ip[master]","outputFolderName":"LuoZYi_ip_master"},{"location":{"location":"https://github.com/LinWanLeii/ip.git","repoName":"ip","organization":"LinWanLeii","domainName":"github"},"branch":"master","displayName":"LinWanLeii/ip[master]","outputFolderName":"LinWanLeii_ip_master"},{"location":{"location":"https://github.com/mingyuanc/ip.git","repoName":"ip","organization":"mingyuanc","domainName":"github"},"branch":"master","displayName":"mingyuanc/ip[master]","outputFolderName":"mingyuanc_ip_master"},{"location":{"location":"https://github.com/chonguschonguschongus/ip.git","repoName":"ip","organization":"chonguschonguschongus","domainName":"github"},"branch":"master","displayName":"chonguschonguschongus/ip[master]","outputFolderName":"chonguschonguschongus_ip_master"},{"location":{"location":"https://github.com/yanghengtang/ip.git","repoName":"ip","organization":"yanghengtang","domainName":"github"},"branch":"master","displayName":"yanghengtang/ip[master]","outputFolderName":"yanghengtang_ip_master"},{"location":{"location":"https://github.com/victorpengmx/ip.git","repoName":"ip","organization":"victorpengmx","domainName":"github"},"branch":"master","displayName":"victorpengmx/ip[master]","outputFolderName":"victorpengmx_ip_master"},{"location":{"location":"https://github.com/kanna-1/ip.git","repoName":"ip","organization":"kanna-1","domainName":"github"},"branch":"master","displayName":"kanna-1/ip[master]","outputFolderName":"kanna-1_ip_master"},{"location":{"location":"https://github.com/ncduy0303/ip.git","repoName":"ip","organization":"ncduy0303","domainName":"github"},"branch":"master","displayName":"ncduy0303/ip[master]","outputFolderName":"ncduy0303_ip_master"},{"location":{"location":"https://github.com/jannnice/ip.git","repoName":"ip","organization":"jannnice","domainName":"github"},"branch":"master","displayName":"jannnice/ip[master]","outputFolderName":"jannnice_ip_master"},{"location":{"location":"https://github.com/itssisi/ip.git","repoName":"ip","organization":"itssisi","domainName":"github"},"branch":"master","displayName":"itssisi/ip[master]","outputFolderName":"itssisi_ip_master"},{"location":{"location":"https://github.com/freddychenyouren2/ip.git","repoName":"ip","organization":"freddychenyouren2","domainName":"github"},"branch":"master","displayName":"freddychenyouren2/ip[master]","outputFolderName":"freddychenyouren2_ip_master"},{"location":{"location":"https://github.com/Vanessamae23/ip.git","repoName":"ip","organization":"Vanessamae23","domainName":"github"},"branch":"master","displayName":"Vanessamae23/ip[master]","outputFolderName":"Vanessamae23_ip_master"},{"location":{"location":"https://github.com/cbj252/ip.git","repoName":"ip","organization":"cbj252","domainName":"github"},"branch":"master","displayName":"cbj252/ip[master]","outputFolderName":"cbj252_ip_master"},{"location":{"location":"https://github.com/freshcabbage123/ip.git","repoName":"ip","organization":"freshcabbage123","domainName":"github"},"branch":"master","displayName":"freshcabbage123/ip[master]","outputFolderName":"freshcabbage123_ip_master"},{"location":{"location":"https://github.com/thienmy0/ip.git","repoName":"ip","organization":"thienmy0","domainName":"github"},"branch":"master","displayName":"thienmy0/ip[master]","outputFolderName":"thienmy0_ip_master"},{"location":{"location":"https://github.com/glenngnng/ip.git","repoName":"ip","organization":"glenngnng","domainName":"github"},"branch":"master","displayName":"glenngnng/ip[master]","outputFolderName":"glenngnng_ip_master"},{"location":{"location":"https://github.com/Darren159/ip.git","repoName":"ip","organization":"Darren159","domainName":"github"},"branch":"master","displayName":"Darren159/ip[master]","outputFolderName":"Darren159_ip_master"},{"location":{"location":"https://github.com/J-hta-n/ip.git","repoName":"ip","organization":"J-hta-n","domainName":"github"},"branch":"master","displayName":"J-hta-n/ip[master]","outputFolderName":"J-hta-n_ip_master"},{"location":{"location":"https://github.com/evanyan13/ip.git","repoName":"ip","organization":"evanyan13","domainName":"github"},"branch":"master","displayName":"evanyan13/ip[master]","outputFolderName":"evanyan13_ip_master"},{"location":{"location":"https://github.com/tanveersingh10/ip.git","repoName":"ip","organization":"tanveersingh10","domainName":"github"},"branch":"master","displayName":"tanveersingh10/ip[master]","outputFolderName":"tanveersingh10_ip_master"},{"location":{"location":"https://github.com/neyapraveen/ip.git","repoName":"ip","organization":"neyapraveen","domainName":"github"},"branch":"master","displayName":"neyapraveen/ip[master]","outputFolderName":"neyapraveen_ip_master"},{"location":{"location":"https://github.com/weeweh/ip.git","repoName":"ip","organization":"weeweh","domainName":"github"},"branch":"master","displayName":"weeweh/ip[master]","outputFolderName":"weeweh_ip_master"},{"location":{"location":"https://github.com/HugeNoob/ip.git","repoName":"ip","organization":"HugeNoob","domainName":"github"},"branch":"master","displayName":"HugeNoob/ip[master]","outputFolderName":"HugeNoob_ip_master"},{"location":{"location":"https://github.com/wasjoe1/ip.git","repoName":"ip","organization":"wasjoe1","domainName":"github"},"branch":"master","displayName":"wasjoe1/ip[master]","outputFolderName":"wasjoe1_ip_master"},{"location":{"location":"https://github.com/s-kybound/ip.git","repoName":"ip","organization":"s-kybound","domainName":"github"},"branch":"master","displayName":"s-kybound/ip[master]","outputFolderName":"s-kybound_ip_master"},{"location":{"location":"https://github.com/Singa-pirate/ip.git","repoName":"ip","organization":"Singa-pirate","domainName":"github"},"branch":"master","displayName":"Singa-pirate/ip[master]","outputFolderName":"Singa-pirate_ip_master"},{"location":{"location":"https://github.com/wanghejin/ip.git","repoName":"ip","organization":"wanghejin","domainName":"github"},"branch":"master","displayName":"wanghejin/ip[master]","outputFolderName":"wanghejin_ip_master"},{"location":{"location":"https://github.com/yarnmengnus/ip.git","repoName":"ip","organization":"yarnmengnus","domainName":"github"},"branch":"master","displayName":"yarnmengnus/ip[master]","outputFolderName":"yarnmengnus_ip_master"},{"location":{"location":"https://github.com/Kurtyjlee/ip.git","repoName":"ip","organization":"Kurtyjlee","domainName":"github"},"branch":"master","displayName":"Kurtyjlee/ip[master]","outputFolderName":"Kurtyjlee_ip_master"},{"location":{"location":"https://github.com/jellywaiyan/ip.git","repoName":"ip","organization":"jellywaiyan","domainName":"github"},"branch":"master","displayName":"jellywaiyan/ip[master]","outputFolderName":"jellywaiyan_ip_master"},{"location":{"location":"https://github.com/ylyma/ip.git","repoName":"ip","organization":"ylyma","domainName":"github"},"branch":"master","displayName":"ylyma/ip[master]","outputFolderName":"ylyma_ip_master"},{"location":{"location":"https://github.com/revdrag/ip.git","repoName":"ip","organization":"revdrag","domainName":"github"},"branch":"master","displayName":"revdrag/ip[master]","outputFolderName":"revdrag_ip_master"},{"location":{"location":"https://github.com/vijay-shankaranand/ip.git","repoName":"ip","organization":"vijay-shankaranand","domainName":"github"},"branch":"master","displayName":"vijay-shankaranand/ip[master]","outputFolderName":"vijay-shankaranand_ip_master"},{"location":{"location":"https://github.com/lerxuann/ip.git","repoName":"ip","organization":"lerxuann","domainName":"github"},"branch":"master","displayName":"lerxuann/ip[master]","outputFolderName":"lerxuann_ip_master"},{"location":{"location":"https://github.com/yuxunn/ip.git","repoName":"ip","organization":"yuxunn","domainName":"github"},"branch":"master","displayName":"yuxunn/ip[master]","outputFolderName":"yuxunn_ip_master"},{"location":{"location":"https://github.com/zannloo/ip.git","repoName":"ip","organization":"zannloo","domainName":"github"},"branch":"master","displayName":"zannloo/ip[master]","outputFolderName":"zannloo_ip_master"},{"location":{"location":"https://github.com/AryanG01/ip.git","repoName":"ip","organization":"AryanG01","domainName":"github"},"branch":"master","displayName":"AryanG01/ip[master]","outputFolderName":"AryanG01_ip_master"},{"location":{"location":"https://github.com/oeggy03/ip.git","repoName":"ip","organization":"oeggy03","domainName":"github"},"branch":"master","displayName":"oeggy03/ip[master]","outputFolderName":"oeggy03_ip_master"},{"location":{"location":"https://github.com/jeffrey-jian/ip.git","repoName":"ip","organization":"jeffrey-jian","domainName":"github"},"branch":"master","displayName":"jeffrey-jian/ip[master]","outputFolderName":"jeffrey-jian_ip_master"},{"location":{"location":"https://github.com/nicholastng010601/ip.git","repoName":"ip","organization":"nicholastng010601","domainName":"github"},"branch":"master","displayName":"nicholastng010601/ip[master]","outputFolderName":"nicholastng010601_ip_master"},{"location":{"location":"https://github.com/Weiennn/ip.git","repoName":"ip","organization":"Weiennn","domainName":"github"},"branch":"master","displayName":"Weiennn/ip[master]","outputFolderName":"Weiennn_ip_master"},{"location":{"location":"https://github.com/tayruxin/ip.git","repoName":"ip","organization":"tayruxin","domainName":"github"},"branch":"master","displayName":"tayruxin/ip[master]","outputFolderName":"tayruxin_ip_master"},{"location":{"location":"https://github.com/xyT-T/ip.git","repoName":"ip","organization":"xyT-T","domainName":"github"},"branch":"master","displayName":"xyT-T/ip[master]","outputFolderName":"xyT-T_ip_master"},{"location":{"location":"https://github.com/lunaroddity/ip.git","repoName":"ip","organization":"lunaroddity","domainName":"github"},"branch":"master","displayName":"lunaroddity/ip[master]","outputFolderName":"lunaroddity_ip_master"},{"location":{"location":"https://github.com/nabonitasen/ip.git","repoName":"ip","organization":"nabonitasen","domainName":"github"},"branch":"master","displayName":"nabonitasen/ip[master]","outputFolderName":"nabonitasen_ip_master"},{"location":{"location":"https://github.com/inezkok/ip.git","repoName":"ip","organization":"inezkok","domainName":"github"},"branch":"master","displayName":"inezkok/ip[master]","outputFolderName":"inezkok_ip_master"},{"location":{"location":"https://github.com/nknguyenhc/ip.git","repoName":"ip","organization":"nknguyenhc","domainName":"github"},"branch":"master","displayName":"nknguyenhc/ip[master]","outputFolderName":"nknguyenhc_ip_master"},{"location":{"location":"https://github.com/keaganpzh/ip.git","repoName":"ip","organization":"keaganpzh","domainName":"github"},"branch":"master","displayName":"keaganpzh/ip[master]","outputFolderName":"keaganpzh_ip_master"},{"location":{"location":"https://github.com/lululwtv/ip.git","repoName":"ip","organization":"lululwtv","domainName":"github"},"branch":"master","displayName":"lululwtv/ip[master]","outputFolderName":"lululwtv_ip_master"},{"location":{"location":"https://github.com/hcs1203/ip.git","repoName":"ip","organization":"hcs1203","domainName":"github"},"branch":"master","displayName":"hcs1203/ip[master]","outputFolderName":"hcs1203_ip_master"},{"location":{"location":"https://github.com/migfoo02/ip.git","repoName":"ip","organization":"migfoo02","domainName":"github"},"branch":"master","displayName":"migfoo02/ip[master]","outputFolderName":"migfoo02_ip_master"},{"location":{"location":"https://github.com/coderhuang559/ip.git","repoName":"ip","organization":"coderhuang559","domainName":"github"},"branch":"master","displayName":"coderhuang559/ip[master]","outputFolderName":"coderhuang559_ip_master"},{"location":{"location":"https://github.com/craigtonlian/ip.git","repoName":"ip","organization":"craigtonlian","domainName":"github"},"branch":"master","displayName":"craigtonlian/ip[master]","outputFolderName":"craigtonlian_ip_master"},{"location":{"location":"https://github.com/adammangzijun/ip.git","repoName":"ip","organization":"adammangzijun","domainName":"github"},"branch":"master","displayName":"adammangzijun/ip[master]","outputFolderName":"adammangzijun_ip_master"},{"location":{"location":"https://github.com/AlainS87/ip.git","repoName":"ip","organization":"AlainS87","domainName":"github"},"branch":"master","displayName":"AlainS87/ip[master]","outputFolderName":"AlainS87_ip_master"},{"location":{"location":"https://github.com/tanyyyming/ip.git","repoName":"ip","organization":"tanyyyming","domainName":"github"},"branch":"master","displayName":"tanyyyming/ip[master]","outputFolderName":"tanyyyming_ip_master"},{"location":{"location":"https://github.com/Saezenn/ip.git","repoName":"ip","organization":"Saezenn","domainName":"github"},"branch":"master","displayName":"Saezenn/ip[master]","outputFolderName":"Saezenn_ip_master"},{"location":{"location":"https://github.com/kayabuttertoastt/ip.git","repoName":"ip","organization":"kayabuttertoastt","domainName":"github"},"branch":"master","displayName":"kayabuttertoastt/ip[master]","outputFolderName":"kayabuttertoastt_ip_master"},{"location":{"location":"https://github.com/limjunxian1/ip.git","repoName":"ip","organization":"limjunxian1","domainName":"github"},"branch":"master","displayName":"limjunxian1/ip[master]","outputFolderName":"limjunxian1_ip_master"},{"location":{"location":"https://github.com/andrechuakj/ip.git","repoName":"ip","organization":"andrechuakj","domainName":"github"},"branch":"master","displayName":"andrechuakj/ip[master]","outputFolderName":"andrechuakj_ip_master"},{"location":{"location":"https://github.com/kwangthiag/ip.git","repoName":"ip","organization":"kwangthiag","domainName":"github"},"branch":"master","displayName":"kwangthiag/ip[master]","outputFolderName":"kwangthiag_ip_master"},{"location":{"location":"https://github.com/ricketytoc/ip.git","repoName":"ip","organization":"ricketytoc","domainName":"github"},"branch":"master","displayName":"ricketytoc/ip[master]","outputFolderName":"ricketytoc_ip_master"},{"location":{"location":"https://github.com/applepiofmyeye/ip.git","repoName":"ip","organization":"applepiofmyeye","domainName":"github"},"branch":"master","displayName":"applepiofmyeye/ip[master]","outputFolderName":"applepiofmyeye_ip_master"},{"location":{"location":"https://github.com/nubnubyas/ip.git","repoName":"ip","organization":"nubnubyas","domainName":"github"},"branch":"master","displayName":"nubnubyas/ip[master]","outputFolderName":"nubnubyas_ip_master"},{"location":{"location":"https://github.com/WeeeHung/ip.git","repoName":"ip","organization":"WeeeHung","domainName":"github"},"branch":"master","displayName":"WeeeHung/ip[master]","outputFolderName":"WeeeHung_ip_master"},{"location":{"location":"https://github.com/Eola-Z/ip.git","repoName":"ip","organization":"Eola-Z","domainName":"github"},"branch":"master","displayName":"Eola-Z/ip[master]","outputFolderName":"Eola-Z_ip_master"},{"location":{"location":"https://github.com/jordankanghm/ip.git","repoName":"ip","organization":"jordankanghm","domainName":"github"},"branch":"master","displayName":"jordankanghm/ip[master]","outputFolderName":"jordankanghm_ip_master"},{"location":{"location":"https://github.com/zacwong2151/ip.git","repoName":"ip","organization":"zacwong2151","domainName":"github"},"branch":"master","displayName":"zacwong2151/ip[master]","outputFolderName":"zacwong2151_ip_master"},{"location":{"location":"https://github.com/m1oojv/ip.git","repoName":"ip","organization":"m1oojv","domainName":"github"},"branch":"master","displayName":"m1oojv/ip[master]","outputFolderName":"m1oojv_ip_master"},{"location":{"location":"https://github.com/JCSnap/ip.git","repoName":"ip","organization":"JCSnap","domainName":"github"},"branch":"master","displayName":"JCSnap/ip[master]","outputFolderName":"JCSnap_ip_master"},{"location":{"location":"https://github.com/Nid21cs/ip.git","repoName":"ip","organization":"Nid21cs","domainName":"github"},"branch":"master","displayName":"Nid21cs/ip[master]","outputFolderName":"Nid21cs_ip_master"},{"location":{"location":"https://github.com/mfjkri/ip.git","repoName":"ip","organization":"mfjkri","domainName":"github"},"branch":"master","displayName":"mfjkri/ip[master]","outputFolderName":"mfjkri_ip_master"},{"location":{"location":"https://github.com/Choonyan02/ip.git","repoName":"ip","organization":"Choonyan02","domainName":"github"},"branch":"master","displayName":"Choonyan02/ip[master]","outputFolderName":"Choonyan02_ip_master"},{"location":{"location":"https://github.com/rayyan35p/ip.git","repoName":"ip","organization":"rayyan35p","domainName":"github"},"branch":"master","displayName":"rayyan35p/ip[master]","outputFolderName":"rayyan35p_ip_master"},{"location":{"location":"https://github.com/dhruvir29/ip.git","repoName":"ip","organization":"dhruvir29","domainName":"github"},"branch":"master","displayName":"dhruvir29/ip[master]","outputFolderName":"dhruvir29_ip_master"},{"location":{"location":"https://github.com/Mohammed-Faizzzz/ip.git","repoName":"ip","organization":"Mohammed-Faizzzz","domainName":"github"},"branch":"master","displayName":"Mohammed-Faizzzz/ip[master]","outputFolderName":"Mohammed-Faizzzz_ip_master"},{"location":{"location":"https://github.com/ruo-x/ip.git","repoName":"ip","organization":"ruo-x","domainName":"github"},"branch":"master","displayName":"ruo-x/ip[master]","outputFolderName":"ruo-x_ip_master"},{"location":{"location":"https://github.com/DonovanJJ/ip.git","repoName":"ip","organization":"DonovanJJ","domainName":"github"},"branch":"master","displayName":"DonovanJJ/ip[master]","outputFolderName":"DonovanJJ_ip_master"},{"location":{"location":"https://github.com/kristayeo/ip.git","repoName":"ip","organization":"kristayeo","domainName":"github"},"branch":"master","displayName":"kristayeo/ip[master]","outputFolderName":"kristayeo_ip_master"},{"location":{"location":"https://github.com/ZD292/ip.git","repoName":"ip","organization":"ZD292","domainName":"github"},"branch":"master","displayName":"ZD292/ip[master]","outputFolderName":"ZD292_ip_master"},{"location":{"location":"https://github.com/jingjie88/ip.git","repoName":"ip","organization":"jingjie88","domainName":"github"},"branch":"master","displayName":"jingjie88/ip[master]","outputFolderName":"jingjie88_ip_master"},{"location":{"location":"https://github.com/iantsaii/ip.git","repoName":"ip","organization":"iantsaii","domainName":"github"},"branch":"master","displayName":"iantsaii/ip[master]","outputFolderName":"iantsaii_ip_master"},{"location":{"location":"https://github.com/jingting1412/ip.git","repoName":"ip","organization":"jingting1412","domainName":"github"},"branch":"master","displayName":"jingting1412/ip[master]","outputFolderName":"jingting1412_ip_master"},{"location":{"location":"https://github.com/wnchan/ip.git","repoName":"ip","organization":"wnchan","domainName":"github"},"branch":"master","displayName":"wnchan/ip[master]","outputFolderName":"wnchan_ip_master"},{"location":{"location":"https://github.com/jack1e0/ip.git","repoName":"ip","organization":"jack1e0","domainName":"github"},"branch":"master","displayName":"jack1e0/ip[master]","outputFolderName":"jack1e0_ip_master"},{"location":{"location":"https://github.com/mingyu-wan/ip.git","repoName":"ip","organization":"mingyu-wan","domainName":"github"},"branch":"master","displayName":"mingyu-wan/ip[master]","outputFolderName":"mingyu-wan_ip_master"},{"location":{"location":"https://github.com/nicolengk/ip.git","repoName":"ip","organization":"nicolengk","domainName":"github"},"branch":"master","displayName":"nicolengk/ip[master]","outputFolderName":"nicolengk_ip_master"},{"location":{"location":"https://github.com/cyaoxuan/ip.git","repoName":"ip","organization":"cyaoxuan","domainName":"github"},"branch":"master","displayName":"cyaoxuan/ip[master]","outputFolderName":"cyaoxuan_ip_master"},{"location":{"location":"https://github.com/sunzihan23/ip.git","repoName":"ip","organization":"sunzihan23","domainName":"github"},"branch":"master","displayName":"sunzihan23/ip[master]","outputFolderName":"sunzihan23_ip_master"},{"location":{"location":"https://github.com/Goh-Li-Ting/ip.git","repoName":"ip","organization":"Goh-Li-Ting","domainName":"github"},"branch":"master","displayName":"Goh-Li-Ting/ip[master]","outputFolderName":"Goh-Li-Ting_ip_master"},{"location":{"location":"https://github.com/wjayee/ip.git","repoName":"ip","organization":"wjayee","domainName":"github"},"branch":"master","displayName":"wjayee/ip[master]","outputFolderName":"wjayee_ip_master"},{"location":{"location":"https://github.com/fuyiqiao/ip.git","repoName":"ip","organization":"fuyiqiao","domainName":"github"},"branch":"master","displayName":"fuyiqiao/ip[master]","outputFolderName":"fuyiqiao_ip_master"},{"location":{"location":"https://github.com/GlendaChong/ip.git","repoName":"ip","organization":"GlendaChong","domainName":"github"},"branch":"master","displayName":"GlendaChong/ip[master]","outputFolderName":"GlendaChong_ip_master"},{"location":{"location":"https://github.com/hyc17003/ip.git","repoName":"ip","organization":"hyc17003","domainName":"github"},"branch":"master","displayName":"hyc17003/ip[master]","outputFolderName":"hyc17003_ip_master"},{"location":{"location":"https://github.com/spatuly/ip.git","repoName":"ip","organization":"spatuly","domainName":"github"},"branch":"master","displayName":"spatuly/ip[master]","outputFolderName":"spatuly_ip_master"},{"location":{"location":"https://github.com/tanteckfang/ip.git","repoName":"ip","organization":"tanteckfang","domainName":"github"},"branch":"master","displayName":"tanteckfang/ip[master]","outputFolderName":"tanteckfang_ip_master"},{"location":{"location":"https://github.com/Clin-lyx/ip.git","repoName":"ip","organization":"Clin-lyx","domainName":"github"},"branch":"master","displayName":"Clin-lyx/ip[master]","outputFolderName":"Clin-lyx_ip_master"},{"location":{"location":"https://github.com/lyuanww/ip.git","repoName":"ip","organization":"lyuanww","domainName":"github"},"branch":"master","displayName":"lyuanww/ip[master]","outputFolderName":"lyuanww_ip_master"},{"location":{"location":"https://github.com/LimJH2002/ip.git","repoName":"ip","organization":"LimJH2002","domainName":"github"},"branch":"master","displayName":"LimJH2002/ip[master]","outputFolderName":"LimJH2002_ip_master"},{"location":{"location":"https://github.com/LWZ19/ip.git","repoName":"ip","organization":"LWZ19","domainName":"github"},"branch":"master","displayName":"LWZ19/ip[master]","outputFolderName":"LWZ19_ip_master"},{"location":{"location":"https://github.com/Gavino3o/ip.git","repoName":"ip","organization":"Gavino3o","domainName":"github"},"branch":"master","displayName":"Gavino3o/ip[master]","outputFolderName":"Gavino3o_ip_master"},{"location":{"location":"https://github.com/suryanshkushwaha/ip.git","repoName":"ip","organization":"suryanshkushwaha","domainName":"github"},"branch":"master","displayName":"suryanshkushwaha/ip[master]","outputFolderName":"suryanshkushwaha_ip_master"},{"location":{"location":"https://github.com/JasonRay168/ip.git","repoName":"ip","organization":"JasonRay168","domainName":"github"},"branch":"master","displayName":"JasonRay168/ip[master]","outputFolderName":"JasonRay168_ip_master"},{"location":{"location":"https://github.com/jovkusuma/ip.git","repoName":"ip","organization":"jovkusuma","domainName":"github"},"branch":"master","displayName":"jovkusuma/ip[master]","outputFolderName":"jovkusuma_ip_master"},{"location":{"location":"https://github.com/Chrainx/ip.git","repoName":"ip","organization":"Chrainx","domainName":"github"},"branch":"master","displayName":"Chrainx/ip[master]","outputFolderName":"Chrainx_ip_master"},{"location":{"location":"https://github.com/Daphne789/ip.git","repoName":"ip","organization":"Daphne789","domainName":"github"},"branch":"master","displayName":"Daphne789/ip[master]","outputFolderName":"Daphne789_ip_master"},{"location":{"location":"https://github.com/ChuanXinNg/ip.git","repoName":"ip","organization":"ChuanXinNg","domainName":"github"},"branch":"master","displayName":"ChuanXinNg/ip[master]","outputFolderName":"ChuanXinNg_ip_master"},{"location":{"location":"https://github.com/LHeng1/ip.git","repoName":"ip","organization":"LHeng1","domainName":"github"},"branch":"master","displayName":"LHeng1/ip[master]","outputFolderName":"LHeng1_ip_master"},{"location":{"location":"https://github.com/wr1159/ip.git","repoName":"ip","organization":"wr1159","domainName":"github"},"branch":"master","displayName":"wr1159/ip[master]","outputFolderName":"wr1159_ip_master"},{"location":{"location":"https://github.com/wjacobw/ip.git","repoName":"ip","organization":"wjacobw","domainName":"github"},"branch":"master","displayName":"wjacobw/ip[master]","outputFolderName":"wjacobw_ip_master"},{"location":{"location":"https://github.com/tiongjjyi/ip.git","repoName":"ip","organization":"tiongjjyi","domainName":"github"},"branch":"master","displayName":"tiongjjyi/ip[master]","outputFolderName":"tiongjjyi_ip_master"},{"location":{"location":"https://github.com/longnguyentan/ip.git","repoName":"ip","organization":"longnguyentan","domainName":"github"},"branch":"master","displayName":"longnguyentan/ip[master]","outputFolderName":"longnguyentan_ip_master"},{"location":{"location":"https://github.com/proto-aiken-13/ip.git","repoName":"ip","organization":"proto-aiken-13","domainName":"github"},"branch":"master","displayName":"proto-aiken-13/ip[master]","outputFolderName":"proto-aiken-13_ip_master"},{"location":{"location":"https://github.com/junnengsoo/ip.git","repoName":"ip","organization":"junnengsoo","domainName":"github"},"branch":"master","displayName":"junnengsoo/ip[master]","outputFolderName":"junnengsoo_ip_master"},{"location":{"location":"https://github.com/yezkez10/ip.git","repoName":"ip","organization":"yezkez10","domainName":"github"},"branch":"master","displayName":"yezkez10/ip[master]","outputFolderName":"yezkez10_ip_master"},{"location":{"location":"https://github.com/jamesebond/ip.git","repoName":"ip","organization":"jamesebond","domainName":"github"},"branch":"master","displayName":"jamesebond/ip[master]","outputFolderName":"jamesebond_ip_master"},{"location":{"location":"https://github.com/alyssaongyx/ip.git","repoName":"ip","organization":"alyssaongyx","domainName":"github"},"branch":"master","displayName":"alyssaongyx/ip[master]","outputFolderName":"alyssaongyx_ip_master"},{"location":{"location":"https://github.com/Carlintyj/ip.git","repoName":"ip","organization":"Carlintyj","domainName":"github"},"branch":"master","displayName":"Carlintyj/ip[master]","outputFolderName":"Carlintyj_ip_master"},{"location":{"location":"https://github.com/ruth-lim/ip.git","repoName":"ip","organization":"ruth-lim","domainName":"github"},"branch":"master","displayName":"ruth-lim/ip[master]","outputFolderName":"ruth-lim_ip_master"},{"location":{"location":"https://github.com/licongshen12/ip.git","repoName":"ip","organization":"licongshen12","domainName":"github"},"branch":"master","displayName":"licongshen12/ip[master]","outputFolderName":"licongshen12_ip_master"},{"location":{"location":"https://github.com/thaddeusong/ip.git","repoName":"ip","organization":"thaddeusong","domainName":"github"},"branch":"master","displayName":"thaddeusong/ip[master]","outputFolderName":"thaddeusong_ip_master"},{"location":{"location":"https://github.com/LordSaumya/ip.git","repoName":"ip","organization":"LordSaumya","domainName":"github"},"branch":"master","displayName":"LordSaumya/ip[master]","outputFolderName":"LordSaumya_ip_master"},{"location":{"location":"https://github.com/Kevin-Liusx/ip.git","repoName":"ip","organization":"Kevin-Liusx","domainName":"github"},"branch":"master","displayName":"Kevin-Liusx/ip[master]","outputFolderName":"Kevin-Liusx_ip_master"},{"location":{"location":"https://github.com/Ken-Lai/ip.git","repoName":"ip","organization":"Ken-Lai","domainName":"github"},"branch":"master","displayName":"Ken-Lai/ip[master]","outputFolderName":"Ken-Lai_ip_master"},{"location":{"location":"https://github.com/KumChaiYin/ip.git","repoName":"ip","organization":"KumChaiYin","domainName":"github"},"branch":"master","displayName":"KumChaiYin/ip[master]","outputFolderName":"KumChaiYin_ip_master"},{"location":{"location":"https://github.com/pzl111/ip.git","repoName":"ip","organization":"pzl111","domainName":"github"},"branch":"master","displayName":"pzl111/ip[master]","outputFolderName":"pzl111_ip_master"},{"location":{"location":"https://github.com/alientian/ip.git","repoName":"ip","organization":"alientian","domainName":"github"},"branch":"master","displayName":"alientian/ip[master]","outputFolderName":"alientian_ip_master"},{"location":{"location":"https://github.com/eyelessrhyme7/ip.git","repoName":"ip","organization":"eyelessrhyme7","domainName":"github"},"branch":"master","displayName":"eyelessrhyme7/ip[master]","outputFolderName":"eyelessrhyme7_ip_master"},{"location":{"location":"https://github.com/AprupKale/ip.git","repoName":"ip","organization":"AprupKale","domainName":"github"},"branch":"master","displayName":"AprupKale/ip[master]","outputFolderName":"AprupKale_ip_master"},{"location":{"location":"https://github.com/kimshitong/ip.git","repoName":"ip","organization":"kimshitong","domainName":"github"},"branch":"master","displayName":"kimshitong/ip[master]","outputFolderName":"kimshitong_ip_master"},{"location":{"location":"https://github.com/Bryan-Goh/ip.git","repoName":"ip","organization":"Bryan-Goh","domainName":"github"},"branch":"master","displayName":"Bryan-Goh/ip[master]","outputFolderName":"Bryan-Goh_ip_master"},{"location":{"location":"https://github.com/tiif/ip.git","repoName":"ip","organization":"tiif","domainName":"github"},"branch":"master","displayName":"tiif/ip[master]","outputFolderName":"tiif_ip_master"},{"location":{"location":"https://github.com/angkyakdifp/ip.git","repoName":"ip","organization":"angkyakdifp","domainName":"github"},"branch":"master","displayName":"angkyakdifp/ip[master]","outputFolderName":"angkyakdifp_ip_master"},{"location":{"location":"https://github.com/Chen-Kuei/ip.git","repoName":"ip","organization":"Chen-Kuei","domainName":"github"},"branch":"master","displayName":"Chen-Kuei/ip[master]","outputFolderName":"Chen-Kuei_ip_master"},{"location":{"location":"https://github.com/SinhaVedant/ip.git","repoName":"ip","organization":"SinhaVedant","domainName":"github"},"branch":"master","displayName":"SinhaVedant/ip[master]","outputFolderName":"SinhaVedant_ip_master"},{"location":{"location":"https://github.com/D-Limiter/ip.git","repoName":"ip","organization":"D-Limiter","domainName":"github"},"branch":"master","displayName":"D-Limiter/ip[master]","outputFolderName":"D-Limiter_ip_master"},{"location":{"location":"https://github.com/larrywang0701/ip.git","repoName":"ip","organization":"larrywang0701","domainName":"github"},"branch":"master","displayName":"larrywang0701/ip[master]","outputFolderName":"larrywang0701_ip_master"},{"location":{"location":"https://github.com/Song-Mengfei/ip.git","repoName":"ip","organization":"Song-Mengfei","domainName":"github"},"branch":"master","displayName":"Song-Mengfei/ip[master]","outputFolderName":"Song-Mengfei_ip_master"},{"location":{"location":"https://github.com/ChangruHenryQian/ip.git","repoName":"ip","organization":"ChangruHenryQian","domainName":"github"},"branch":"master","displayName":"ChangruHenryQian/ip[master]","outputFolderName":"ChangruHenryQian_ip_master"},{"location":{"location":"https://github.com/ketweeen/ip.git","repoName":"ip","organization":"ketweeen","domainName":"github"},"branch":"master","displayName":"ketweeen/ip[master]","outputFolderName":"ketweeen_ip_master"},{"location":{"location":"https://github.com/RSXIX/ip.git","repoName":"ip","organization":"RSXIX","domainName":"github"},"branch":"master","displayName":"RSXIX/ip[master]","outputFolderName":"RSXIX_ip_master"},{"location":{"location":"https://github.com/songgthu/ip.git","repoName":"ip","organization":"songgthu","domainName":"github"},"branch":"master","displayName":"songgthu/ip[master]","outputFolderName":"songgthu_ip_master"},{"location":{"location":"https://github.com/maj0-0/ip.git","repoName":"ip","organization":"maj0-0","domainName":"github"},"branch":"master","displayName":"maj0-0/ip[master]","outputFolderName":"maj0-0_ip_master"},{"location":{"location":"https://github.com/tiongMax/ip.git","repoName":"ip","organization":"tiongMax","domainName":"github"},"branch":"master","displayName":"tiongMax/ip[master]","outputFolderName":"tiongMax_ip_master"},{"location":{"location":"https://github.com/A1WAYSD/ip.git","repoName":"ip","organization":"A1WAYSD","domainName":"github"},"branch":"master","displayName":"A1WAYSD/ip[master]","outputFolderName":"A1WAYSD_ip_master"},{"location":{"location":"https://github.com/hjoneweek/ip.git","repoName":"ip","organization":"hjoneweek","domainName":"github"},"branch":"master","displayName":"hjoneweek/ip[master]","outputFolderName":"hjoneweek_ip_master"},{"location":{"location":"https://github.com/itsNatTan/ip.git","repoName":"ip","organization":"itsNatTan","domainName":"github"},"branch":"master","displayName":"itsNatTan/ip[master]","outputFolderName":"itsNatTan_ip_master"},{"location":{"location":"https://github.com/AustinHuang1203/ip.git","repoName":"ip","organization":"AustinHuang1203","domainName":"github"},"branch":"master","displayName":"AustinHuang1203/ip[master]","outputFolderName":"AustinHuang1203_ip_master"},{"location":{"location":"https://github.com/WangCheng0116/ip.git","repoName":"ip","organization":"WangCheng0116","domainName":"github"},"branch":"master","displayName":"WangCheng0116/ip[master]","outputFolderName":"WangCheng0116_ip_master"},{"location":{"location":"https://github.com/Tim-Siu/ip.git","repoName":"ip","organization":"Tim-Siu","domainName":"github"},"branch":"master","displayName":"Tim-Siu/ip[master]","outputFolderName":"Tim-Siu_ip_master"},{"location":{"location":"https://github.com/newway1814/ip.git","repoName":"ip","organization":"newway1814","domainName":"github"},"branch":"master","displayName":"newway1814/ip[master]","outputFolderName":"newway1814_ip_master"},{"location":{"location":"https://github.com/li-rongzhi/ip.git","repoName":"ip","organization":"li-rongzhi","domainName":"github"},"branch":"master","displayName":"li-rongzhi/ip[master]","outputFolderName":"li-rongzhi_ip_master"},{"location":{"location":"https://github.com/adhigop13/ip.git","repoName":"ip","organization":"adhigop13","domainName":"github"},"branch":"master","displayName":"adhigop13/ip[master]","outputFolderName":"adhigop13_ip_master"},{"location":{"location":"https://github.com/MadLamprey/ip.git","repoName":"ip","organization":"MadLamprey","domainName":"github"},"branch":"master","displayName":"MadLamprey/ip[master]","outputFolderName":"MadLamprey_ip_master"}],"errorSet":[{"repoName":"Propene-Dan/ip[master]","errorMessage":"Failed to clone from https://github.com/Propene-Dan/ip.git"},{"repoName":"Cloud7050/ip[master]","errorMessage":"Failed to clone from https://github.com/Cloud7050/ip.git"},{"repoName":"papataco14/ip[master]","errorMessage":"Failed to clone from https://github.com/papataco14/ip.git"},{"repoName":"felibunnyy/ip[master]","errorMessage":"Failed to clone from https://github.com/felibunnyy/ip.git"},{"repoName":"starrylight99/ip[master]","errorMessage":"Failed to clone from https://github.com/starrylight99/ip.git"}],"sinceDate":"2023-08-18","untilDate":"2023-08-28","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}}} +{"repoSenseVersion":"324a0cbbff","reportGeneratedTime":"Mon Aug 28 22:13:34 2023 UTC+08:00","reportGenerationTime":" 1 minute(s) 10.65 second(s)","zoneId":"UTC+08:00","reportTitle":"CS2103 iP Code Dashboard","repos":[{"location":{"location":"https://github.com/remuslum/ip.git","repoName":"ip","organization":"remuslum","domainName":"github"},"branch":"master","displayName":"remuslum/ip[master]","outputFolderName":"remuslum_ip_master"},{"location":{"location":"https://github.com/elhy1999/ip.git","repoName":"ip","organization":"elhy1999","domainName":"github"},"branch":"master","displayName":"elhy1999/ip[master]","outputFolderName":"elhy1999_ip_master"},{"location":{"location":"https://github.com/XihuaZ/ip.git","repoName":"ip","organization":"XihuaZ","domainName":"github"},"branch":"master","displayName":"XihuaZ/ip[master]","outputFolderName":"XihuaZ_ip_master"},{"location":{"location":"https://github.com/bwangpj/ip.git","repoName":"ip","organization":"bwangpj","domainName":"github"},"branch":"master","displayName":"bwangpj/ip[master]","outputFolderName":"bwangpj_ip_master"},{"location":{"location":"https://github.com/shuenj/ip.git","repoName":"ip","organization":"shuenj","domainName":"github"},"branch":"master","displayName":"shuenj/ip[master]","outputFolderName":"shuenj_ip_master"},{"location":{"location":"https://github.com/SungMatt/ip.git","repoName":"ip","organization":"SungMatt","domainName":"github"},"branch":"master","displayName":"SungMatt/ip[master]","outputFolderName":"SungMatt_ip_master"},{"location":{"location":"https://github.com/junhonglow/ip.git","repoName":"ip","organization":"junhonglow","domainName":"github"},"branch":"master","displayName":"junhonglow/ip[master]","outputFolderName":"junhonglow_ip_master"},{"location":{"location":"https://github.com/xavierpok/ip.git","repoName":"ip","organization":"xavierpok","domainName":"github"},"branch":"master","displayName":"xavierpok/ip[master]","outputFolderName":"xavierpok_ip_master"},{"location":{"location":"https://github.com/marcellaantania/ip.git","repoName":"ip","organization":"marcellaantania","domainName":"github"},"branch":"master","displayName":"marcellaantania/ip[master]","outputFolderName":"marcellaantania_ip_master"},{"location":{"location":"https://github.com/leezhanpeng/ip.git","repoName":"ip","organization":"leezhanpeng","domainName":"github"},"branch":"master","displayName":"leezhanpeng/ip[master]","outputFolderName":"leezhanpeng_ip_master"},{"location":{"location":"https://github.com/sheryew/ip.git","repoName":"ip","organization":"sheryew","domainName":"github"},"branch":"master","displayName":"sheryew/ip[master]","outputFolderName":"sheryew_ip_master"},{"location":{"location":"https://github.com/lihongguang00/ip.git","repoName":"ip","organization":"lihongguang00","domainName":"github"},"branch":"master","displayName":"lihongguang00/ip[master]","outputFolderName":"lihongguang00_ip_master"},{"location":{"location":"https://github.com/nicrandomlee/ip.git","repoName":"ip","organization":"nicrandomlee","domainName":"github"},"branch":"master","displayName":"nicrandomlee/ip[master]","outputFolderName":"nicrandomlee_ip_master"},{"location":{"location":"https://github.com/s-peiran/ip.git","repoName":"ip","organization":"s-peiran","domainName":"github"},"branch":"master","displayName":"s-peiran/ip[master]","outputFolderName":"s-peiran_ip_master"},{"location":{"location":"https://github.com/aarontxz/ip.git","repoName":"ip","organization":"aarontxz","domainName":"github"},"branch":"master","displayName":"aarontxz/ip[master]","outputFolderName":"aarontxz_ip_master"},{"location":{"location":"https://github.com/chiayunrong/ip.git","repoName":"ip","organization":"chiayunrong","domainName":"github"},"branch":"master","displayName":"chiayunrong/ip[master]","outputFolderName":"chiayunrong_ip_master"},{"location":{"location":"https://github.com/nixonwidjaja/ip.git","repoName":"ip","organization":"nixonwidjaja","domainName":"github"},"branch":"master","displayName":"nixonwidjaja/ip[master]","outputFolderName":"nixonwidjaja_ip_master"},{"location":{"location":"https://github.com/imkwokyong/ip.git","repoName":"ip","organization":"imkwokyong","domainName":"github"},"branch":"master","displayName":"imkwokyong/ip[master]","outputFolderName":"imkwokyong_ip_master"},{"location":{"location":"https://github.com/mamayuan/ip.git","repoName":"ip","organization":"mamayuan","domainName":"github"},"branch":"master","displayName":"mamayuan/ip[master]","outputFolderName":"mamayuan_ip_master"},{"location":{"location":"https://github.com/geoffong11/ip.git","repoName":"ip","organization":"geoffong11","domainName":"github"},"branch":"master","displayName":"geoffong11/ip[master]","outputFolderName":"geoffong11_ip_master"},{"location":{"location":"https://github.com/vivienherq/ip.git","repoName":"ip","organization":"vivienherq","domainName":"github"},"branch":"master","displayName":"vivienherq/ip[master]","outputFolderName":"vivienherq_ip_master"},{"location":{"location":"https://github.com/johnnythesnake12/ip.git","repoName":"ip","organization":"johnnythesnake12","domainName":"github"},"branch":"master","displayName":"johnnythesnake12/ip[master]","outputFolderName":"johnnythesnake12_ip_master"},{"location":{"location":"https://github.com/jonyeokj/ip.git","repoName":"ip","organization":"jonyeokj","domainName":"github"},"branch":"master","displayName":"jonyeokj/ip[master]","outputFolderName":"jonyeokj_ip_master"},{"location":{"location":"https://github.com/lipwei1808/ip.git","repoName":"ip","organization":"lipwei1808","domainName":"github"},"branch":"master","displayName":"lipwei1808/ip[master]","outputFolderName":"lipwei1808_ip_master"},{"location":{"location":"https://github.com/zhanyang01/ip.git","repoName":"ip","organization":"zhanyang01","domainName":"github"},"branch":"master","displayName":"zhanyang01/ip[master]","outputFolderName":"zhanyang01_ip_master"},{"location":{"location":"https://github.com/EricXiong420/ip.git","repoName":"ip","organization":"EricXiong420","domainName":"github"},"branch":"master","displayName":"EricXiong420/ip[master]","outputFolderName":"EricXiong420_ip_master"},{"location":{"location":"https://github.com/sp4ce-cowboy/ip.git","repoName":"ip","organization":"sp4ce-cowboy","domainName":"github"},"branch":"master","displayName":"sp4ce-cowboy/ip[master]","outputFolderName":"sp4ce-cowboy_ip_master"},{"location":{"location":"https://github.com/ktzy0305/ip.git","repoName":"ip","organization":"ktzy0305","domainName":"github"},"branch":"master","displayName":"ktzy0305/ip[master]","outputFolderName":"ktzy0305_ip_master"},{"location":{"location":"https://github.com/dom-buri/ip.git","repoName":"ip","organization":"dom-buri","domainName":"github"},"branch":"master","displayName":"dom-buri/ip[master]","outputFolderName":"dom-buri_ip_master"},{"location":{"location":"https://github.com/rayshawntan/ip.git","repoName":"ip","organization":"rayshawntan","domainName":"github"},"branch":"master","displayName":"rayshawntan/ip[master]","outputFolderName":"rayshawntan_ip_master"},{"location":{"location":"https://github.com/Seonlo99/ip.git","repoName":"ip","organization":"Seonlo99","domainName":"github"},"branch":"master","displayName":"Seonlo99/ip[master]","outputFolderName":"Seonlo99_ip_master"},{"location":{"location":"https://github.com/woojiahao/ip.git","repoName":"ip","organization":"woojiahao","domainName":"github"},"branch":"master","displayName":"woojiahao/ip[master]","outputFolderName":"woojiahao_ip_master"},{"location":{"location":"https://github.com/jamz903/ip.git","repoName":"ip","organization":"jamz903","domainName":"github"},"branch":"master","displayName":"jamz903/ip[master]","outputFolderName":"jamz903_ip_master"},{"location":{"location":"https://github.com/Fallman2/ip.git","repoName":"ip","organization":"Fallman2","domainName":"github"},"branch":"master","displayName":"Fallman2/ip[master]","outputFolderName":"Fallman2_ip_master"},{"location":{"location":"https://github.com/jacobcuison/ip.git","repoName":"ip","organization":"jacobcuison","domainName":"github"},"branch":"master","displayName":"jacobcuison/ip[master]","outputFolderName":"jacobcuison_ip_master"},{"location":{"location":"https://github.com/kenvynKwek/ip.git","repoName":"ip","organization":"kenvynKwek","domainName":"github"},"branch":"master","displayName":"kenvynKwek/ip[master]","outputFolderName":"kenvynKwek_ip_master"},{"location":{"location":"https://github.com/kokrui/ip.git","repoName":"ip","organization":"kokrui","domainName":"github"},"branch":"master","displayName":"kokrui/ip[master]","outputFolderName":"kokrui_ip_master"},{"location":{"location":"https://github.com/ncmathan/ip.git","repoName":"ip","organization":"ncmathan","domainName":"github"},"branch":"master","displayName":"ncmathan/ip[master]","outputFolderName":"ncmathan_ip_master"},{"location":{"location":"https://github.com/xCOLOURx/ip.git","repoName":"ip","organization":"xCOLOURx","domainName":"github"},"branch":"master","displayName":"xCOLOURx/ip[master]","outputFolderName":"xCOLOURx_ip_master"},{"location":{"location":"https://github.com/zhyuhan/ip.git","repoName":"ip","organization":"zhyuhan","domainName":"github"},"branch":"master","displayName":"zhyuhan/ip[master]","outputFolderName":"zhyuhan_ip_master"},{"location":{"location":"https://github.com/ceilingFan456/ip.git","repoName":"ip","organization":"ceilingFan456","domainName":"github"},"branch":"master","displayName":"ceilingFan456/ip[master]","outputFolderName":"ceilingFan456_ip_master"},{"location":{"location":"https://github.com/chuababyy/ip.git","repoName":"ip","organization":"chuababyy","domainName":"github"},"branch":"master","displayName":"chuababyy/ip[master]","outputFolderName":"chuababyy_ip_master"},{"location":{"location":"https://github.com/rocketninja7/ip.git","repoName":"ip","organization":"rocketninja7","domainName":"github"},"branch":"master","displayName":"rocketninja7/ip[master]","outputFolderName":"rocketninja7_ip_master"},{"location":{"location":"https://github.com/marquestye/ip.git","repoName":"ip","organization":"marquestye","domainName":"github"},"branch":"master","displayName":"marquestye/ip[master]","outputFolderName":"marquestye_ip_master"},{"location":{"location":"https://github.com/ruiyangzh/ip.git","repoName":"ip","organization":"ruiyangzh","domainName":"github"},"branch":"master","displayName":"ruiyangzh/ip[master]","outputFolderName":"ruiyangzh_ip_master"},{"location":{"location":"https://github.com/derekjxtan/ip.git","repoName":"ip","organization":"derekjxtan","domainName":"github"},"branch":"master","displayName":"derekjxtan/ip[master]","outputFolderName":"derekjxtan_ip_master"},{"location":{"location":"https://github.com/mounilsankar/ip.git","repoName":"ip","organization":"mounilsankar","domainName":"github"},"branch":"master","displayName":"mounilsankar/ip[master]","outputFolderName":"mounilsankar_ip_master"},{"location":{"location":"https://github.com/wj331/ip.git","repoName":"ip","organization":"wj331","domainName":"github"},"branch":"master","displayName":"wj331/ip[master]","outputFolderName":"wj331_ip_master"},{"location":{"location":"https://github.com/JasonLCY-Temp/ip.git","repoName":"ip","organization":"JasonLCY-Temp","domainName":"github"},"branch":"master","displayName":"JasonLCY-Temp/ip[master]","outputFolderName":"JasonLCY-Temp_ip_master"},{"location":{"location":"https://github.com/lawruixi/ip.git","repoName":"ip","organization":"lawruixi","domainName":"github"},"branch":"master","displayName":"lawruixi/ip[master]","outputFolderName":"lawruixi_ip_master"},{"location":{"location":"https://github.com/wxwern/ip.git","repoName":"ip","organization":"wxwern","domainName":"github"},"branch":"master","displayName":"wxwern/ip[master]","outputFolderName":"wxwern_ip_master"},{"location":{"location":"https://github.com/zekone/ip.git","repoName":"ip","organization":"zekone","domainName":"github"},"branch":"master","displayName":"zekone/ip[master]","outputFolderName":"zekone_ip_master"},{"location":{"location":"https://github.com/wamps-jp/ip.git","repoName":"ip","organization":"wamps-jp","domainName":"github"},"branch":"master","displayName":"wamps-jp/ip[master]","outputFolderName":"wamps-jp_ip_master"},{"location":{"location":"https://github.com/saltedfishxx/ip.git","repoName":"ip","organization":"saltedfishxx","domainName":"github"},"branch":"master","displayName":"saltedfishxx/ip[master]","outputFolderName":"saltedfishxx_ip_master"},{"location":{"location":"https://github.com/winson8222/ip.git","repoName":"ip","organization":"winson8222","domainName":"github"},"branch":"master","displayName":"winson8222/ip[master]","outputFolderName":"winson8222_ip_master"},{"location":{"location":"https://github.com/brandon-nam/ip.git","repoName":"ip","organization":"brandon-nam","domainName":"github"},"branch":"master","displayName":"brandon-nam/ip[master]","outputFolderName":"brandon-nam_ip_master"},{"location":{"location":"https://github.com/p-xp/ip.git","repoName":"ip","organization":"p-xp","domainName":"github"},"branch":"master","displayName":"p-xp/ip[master]","outputFolderName":"p-xp_ip_master"},{"location":{"location":"https://github.com/WeeMingQing/ip.git","repoName":"ip","organization":"WeeMingQing","domainName":"github"},"branch":"master","displayName":"WeeMingQing/ip[master]","outputFolderName":"WeeMingQing_ip_master"},{"location":{"location":"https://github.com/ScarletBlanks/ip.git","repoName":"ip","organization":"ScarletBlanks","domainName":"github"},"branch":"master","displayName":"ScarletBlanks/ip[master]","outputFolderName":"ScarletBlanks_ip_master"},{"location":{"location":"https://github.com/seraphimstreets/ip.git","repoName":"ip","organization":"seraphimstreets","domainName":"github"},"branch":"master","displayName":"seraphimstreets/ip[master]","outputFolderName":"seraphimstreets_ip_master"},{"location":{"location":"https://github.com/devanshubisht/ip.git","repoName":"ip","organization":"devanshubisht","domainName":"github"},"branch":"master","displayName":"devanshubisht/ip[master]","outputFolderName":"devanshubisht_ip_master"},{"location":{"location":"https://github.com/Zjinnnn/ip.git","repoName":"ip","organization":"Zjinnnn","domainName":"github"},"branch":"master","displayName":"Zjinnnn/ip[master]","outputFolderName":"Zjinnnn_ip_master"},{"location":{"location":"https://github.com/brendanneojw/ip.git","repoName":"ip","organization":"brendanneojw","domainName":"github"},"branch":"master","displayName":"brendanneojw/ip[master]","outputFolderName":"brendanneojw_ip_master"},{"location":{"location":"https://github.com/aexolate/ip.git","repoName":"ip","organization":"aexolate","domainName":"github"},"branch":"master","displayName":"aexolate/ip[master]","outputFolderName":"aexolate_ip_master"},{"location":{"location":"https://github.com/techjay-c/ip.git","repoName":"ip","organization":"techjay-c","domainName":"github"},"branch":"master","displayName":"techjay-c/ip[master]","outputFolderName":"techjay-c_ip_master"},{"location":{"location":"https://github.com/SynapseProgramming/ip.git","repoName":"ip","organization":"SynapseProgramming","domainName":"github"},"branch":"master","displayName":"SynapseProgramming/ip[master]","outputFolderName":"SynapseProgramming_ip_master"},{"location":{"location":"https://github.com/TyrusLye/ip.git","repoName":"ip","organization":"TyrusLye","domainName":"github"},"branch":"master","displayName":"TyrusLye/ip[master]","outputFolderName":"TyrusLye_ip_master"},{"location":{"location":"https://github.com/RB9823/ip.git","repoName":"ip","organization":"RB9823","domainName":"github"},"branch":"master","displayName":"RB9823/ip[master]","outputFolderName":"RB9823_ip_master"},{"location":{"location":"https://github.com/jean-cq/ip.git","repoName":"ip","organization":"jean-cq","domainName":"github"},"branch":"master","displayName":"jean-cq/ip[master]","outputFolderName":"jean-cq_ip_master"},{"location":{"location":"https://github.com/Bearypop/ip.git","repoName":"ip","organization":"Bearypop","domainName":"github"},"branch":"master","displayName":"Bearypop/ip[master]","outputFolderName":"Bearypop_ip_master"},{"location":{"location":"https://github.com/andytoh1/ip.git","repoName":"ip","organization":"andytoh1","domainName":"github"},"branch":"master","displayName":"andytoh1/ip[master]","outputFolderName":"andytoh1_ip_master"},{"location":{"location":"https://github.com/siqirua/ip.git","repoName":"ip","organization":"siqirua","domainName":"github"},"branch":"master","displayName":"siqirua/ip[master]","outputFolderName":"siqirua_ip_master"},{"location":{"location":"https://github.com/amosting/ip.git","repoName":"ip","organization":"amosting","domainName":"github"},"branch":"master","displayName":"amosting/ip[master]","outputFolderName":"amosting_ip_master"},{"location":{"location":"https://github.com/JizhuoChen/ip.git","repoName":"ip","organization":"JizhuoChen","domainName":"github"},"branch":"master","displayName":"JizhuoChen/ip[master]","outputFolderName":"JizhuoChen_ip_master"},{"location":{"location":"https://github.com/Tang-Moyan/ip.git","repoName":"ip","organization":"Tang-Moyan","domainName":"github"},"branch":"master","displayName":"Tang-Moyan/ip[master]","outputFolderName":"Tang-Moyan_ip_master"},{"location":{"location":"https://github.com/aliciamichellew/ip.git","repoName":"ip","organization":"aliciamichellew","domainName":"github"},"branch":"master","displayName":"aliciamichellew/ip[master]","outputFolderName":"aliciamichellew_ip_master"},{"location":{"location":"https://github.com/KamiliArsyad/ip.git","repoName":"ip","organization":"KamiliArsyad","domainName":"github"},"branch":"master","displayName":"KamiliArsyad/ip[master]","outputFolderName":"KamiliArsyad_ip_master"},{"location":{"location":"https://github.com/dishenggg/ip.git","repoName":"ip","organization":"dishenggg","domainName":"github"},"branch":"master","displayName":"dishenggg/ip[master]","outputFolderName":"dishenggg_ip_master"},{"location":{"location":"https://github.com/Nixx162/ip.git","repoName":"ip","organization":"Nixx162","domainName":"github"},"branch":"master","displayName":"Nixx162/ip[master]","outputFolderName":"Nixx162_ip_master"},{"location":{"location":"https://github.com/Leb14/ip.git","repoName":"ip","organization":"Leb14","domainName":"github"},"branch":"master","displayName":"Leb14/ip[master]","outputFolderName":"Leb14_ip_master"},{"location":{"location":"https://github.com/Heran9/ip.git","repoName":"ip","organization":"Heran9","domainName":"github"},"branch":"master","displayName":"Heran9/ip[master]","outputFolderName":"Heran9_ip_master"},{"location":{"location":"https://github.com/FerdiHS/ip.git","repoName":"ip","organization":"FerdiHS","domainName":"github"},"branch":"master","displayName":"FerdiHS/ip[master]","outputFolderName":"FerdiHS_ip_master"},{"location":{"location":"https://github.com/StevenLiudw/ip.git","repoName":"ip","organization":"StevenLiudw","domainName":"github"},"branch":"master","displayName":"StevenLiudw/ip[master]","outputFolderName":"StevenLiudw_ip_master"},{"location":{"location":"https://github.com/InfiBeyond/ip.git","repoName":"ip","organization":"InfiBeyond","domainName":"github"},"branch":"master","displayName":"InfiBeyond/ip[master]","outputFolderName":"InfiBeyond_ip_master"},{"location":{"location":"https://github.com/s0ngyang/ip.git","repoName":"ip","organization":"s0ngyang","domainName":"github"},"branch":"master","displayName":"s0ngyang/ip[master]","outputFolderName":"s0ngyang_ip_master"},{"location":{"location":"https://github.com/ivyy-poison/ip.git","repoName":"ip","organization":"ivyy-poison","domainName":"github"},"branch":"master","displayName":"ivyy-poison/ip[master]","outputFolderName":"ivyy-poison_ip_master"},{"location":{"location":"https://github.com/yytan25/ip.git","repoName":"ip","organization":"yytan25","domainName":"github"},"branch":"master","displayName":"yytan25/ip[master]","outputFolderName":"yytan25_ip_master"},{"location":{"location":"https://github.com/tjch-o/ip.git","repoName":"ip","organization":"tjch-o","domainName":"github"},"branch":"master","displayName":"tjch-o/ip[master]","outputFolderName":"tjch-o_ip_master"},{"location":{"location":"https://github.com/jedkohjk/ip.git","repoName":"ip","organization":"jedkohjk","domainName":"github"},"branch":"master","displayName":"jedkohjk/ip[master]","outputFolderName":"jedkohjk_ip_master"},{"location":{"location":"https://github.com/raynertjx/ip.git","repoName":"ip","organization":"raynertjx","domainName":"github"},"branch":"master","displayName":"raynertjx/ip[master]","outputFolderName":"raynertjx_ip_master"},{"location":{"location":"https://github.com/cmHuang777/ip.git","repoName":"ip","organization":"cmHuang777","domainName":"github"},"branch":"master","displayName":"cmHuang777/ip[master]","outputFolderName":"cmHuang777_ip_master"},{"location":{"location":"https://github.com/wui-hong/ip.git","repoName":"ip","organization":"wui-hong","domainName":"github"},"branch":"master","displayName":"wui-hong/ip[master]","outputFolderName":"wui-hong_ip_master"},{"location":{"location":"https://github.com/PohSayKeong/ip.git","repoName":"ip","organization":"PohSayKeong","domainName":"github"},"branch":"master","displayName":"PohSayKeong/ip[master]","outputFolderName":"PohSayKeong_ip_master"},{"location":{"location":"https://github.com/lsyurea/ip.git","repoName":"ip","organization":"lsyurea","domainName":"github"},"branch":"master","displayName":"lsyurea/ip[master]","outputFolderName":"lsyurea_ip_master"},{"location":{"location":"https://github.com/ong-wei-hong/ip.git","repoName":"ip","organization":"ong-wei-hong","domainName":"github"},"branch":"master","displayName":"ong-wei-hong/ip[master]","outputFolderName":"ong-wei-hong_ip_master"},{"location":{"location":"https://github.com/asdfghjkxd/ip.git","repoName":"ip","organization":"asdfghjkxd","domainName":"github"},"branch":"master","displayName":"asdfghjkxd/ip[master]","outputFolderName":"asdfghjkxd_ip_master"},{"location":{"location":"https://github.com/GSgiansen/ip.git","repoName":"ip","organization":"GSgiansen","domainName":"github"},"branch":"master","displayName":"GSgiansen/ip[master]","outputFolderName":"GSgiansen_ip_master"},{"location":{"location":"https://github.com/syamfarh/ip.git","repoName":"ip","organization":"syamfarh","domainName":"github"},"branch":"master","displayName":"syamfarh/ip[master]","outputFolderName":"syamfarh_ip_master"},{"location":{"location":"https://github.com/PetrichorPrecipice/ip.git","repoName":"ip","organization":"PetrichorPrecipice","domainName":"github"},"branch":"master","displayName":"PetrichorPrecipice/ip[master]","outputFolderName":"PetrichorPrecipice_ip_master"},{"location":{"location":"https://github.com/ngeeyonglim/ip.git","repoName":"ip","organization":"ngeeyonglim","domainName":"github"},"branch":"master","displayName":"ngeeyonglim/ip[master]","outputFolderName":"ngeeyonglim_ip_master"},{"location":{"location":"https://github.com/ivanleekk/ip.git","repoName":"ip","organization":"ivanleekk","domainName":"github"},"branch":"master","displayName":"ivanleekk/ip[master]","outputFolderName":"ivanleekk_ip_master"},{"location":{"location":"https://github.com/ryanozx/ip.git","repoName":"ip","organization":"ryanozx","domainName":"github"},"branch":"master","displayName":"ryanozx/ip[master]","outputFolderName":"ryanozx_ip_master"},{"location":{"location":"https://github.com/Jweewee/ip.git","repoName":"ip","organization":"Jweewee","domainName":"github"},"branch":"master","displayName":"Jweewee/ip[master]","outputFolderName":"Jweewee_ip_master"},{"location":{"location":"https://github.com/supermii2/ip.git","repoName":"ip","organization":"supermii2","domainName":"github"},"branch":"master","displayName":"supermii2/ip[master]","outputFolderName":"supermii2_ip_master"},{"location":{"location":"https://github.com/bkjwjason/ip.git","repoName":"ip","organization":"bkjwjason","domainName":"github"},"branch":"master","displayName":"bkjwjason/ip[master]","outputFolderName":"bkjwjason_ip_master"},{"location":{"location":"https://github.com/Sasmik23/ip.git","repoName":"ip","organization":"Sasmik23","domainName":"github"},"branch":"master","displayName":"Sasmik23/ip[master]","outputFolderName":"Sasmik23_ip_master"},{"location":{"location":"https://github.com/nathanielcalimag/ip.git","repoName":"ip","organization":"nathanielcalimag","domainName":"github"},"branch":"master","displayName":"nathanielcalimag/ip[master]","outputFolderName":"nathanielcalimag_ip_master"},{"location":{"location":"https://github.com/AlagappanRa/ip.git","repoName":"ip","organization":"AlagappanRa","domainName":"github"},"branch":"master","displayName":"AlagappanRa/ip[master]","outputFolderName":"AlagappanRa_ip_master"},{"location":{"location":"https://github.com/McNaBry/ip.git","repoName":"ip","organization":"McNaBry","domainName":"github"},"branch":"master","displayName":"McNaBry/ip[master]","outputFolderName":"McNaBry_ip_master"},{"location":{"location":"https://github.com/phiphi-tan/ip.git","repoName":"ip","organization":"phiphi-tan","domainName":"github"},"branch":"master","displayName":"phiphi-tan/ip[master]","outputFolderName":"phiphi-tan_ip_master"},{"location":{"location":"https://github.com/LicongHuang/ip.git","repoName":"ip","organization":"LicongHuang","domainName":"github"},"branch":"master","displayName":"LicongHuang/ip[master]","outputFolderName":"LicongHuang_ip_master"},{"location":{"location":"https://github.com/tanshiyu1999/ip.git","repoName":"ip","organization":"tanshiyu1999","domainName":"github"},"branch":"master","displayName":"tanshiyu1999/ip[master]","outputFolderName":"tanshiyu1999_ip_master"},{"location":{"location":"https://github.com/raydenlim/ip.git","repoName":"ip","organization":"raydenlim","domainName":"github"},"branch":"master","displayName":"raydenlim/ip[master]","outputFolderName":"raydenlim_ip_master"},{"location":{"location":"https://github.com/jianyangg/ip.git","repoName":"ip","organization":"jianyangg","domainName":"github"},"branch":"master","displayName":"jianyangg/ip[master]","outputFolderName":"jianyangg_ip_master"},{"location":{"location":"https://github.com/rionshocker/ip.git","repoName":"ip","organization":"rionshocker","domainName":"github"},"branch":"master","displayName":"rionshocker/ip[master]","outputFolderName":"rionshocker_ip_master"},{"location":{"location":"https://github.com/conradsoon/ip.git","repoName":"ip","organization":"conradsoon","domainName":"github"},"branch":"master","displayName":"conradsoon/ip[master]","outputFolderName":"conradsoon_ip_master"},{"location":{"location":"https://github.com/Jonyxzx/ip.git","repoName":"ip","organization":"Jonyxzx","domainName":"github"},"branch":"master","displayName":"Jonyxzx/ip[master]","outputFolderName":"Jonyxzx_ip_master"},{"location":{"location":"https://github.com/euchangxian/ip.git","repoName":"ip","organization":"euchangxian","domainName":"github"},"branch":"master","displayName":"euchangxian/ip[master]","outputFolderName":"euchangxian_ip_master"},{"location":{"location":"https://github.com/teoks0199/ip.git","repoName":"ip","organization":"teoks0199","domainName":"github"},"branch":"master","displayName":"teoks0199/ip[master]","outputFolderName":"teoks0199_ip_master"},{"location":{"location":"https://github.com/HollaG/ip.git","repoName":"ip","organization":"HollaG","domainName":"github"},"branch":"master","displayName":"HollaG/ip[master]","outputFolderName":"HollaG_ip_master"},{"location":{"location":"https://github.com/leezhengjing/ip.git","repoName":"ip","organization":"leezhengjing","domainName":"github"},"branch":"master","displayName":"leezhengjing/ip[master]","outputFolderName":"leezhengjing_ip_master"},{"location":{"location":"https://github.com/timleow/ip.git","repoName":"ip","organization":"timleow","domainName":"github"},"branch":"master","displayName":"timleow/ip[master]","outputFolderName":"timleow_ip_master"},{"location":{"location":"https://github.com/jacksonyuan256/ip.git","repoName":"ip","organization":"jacksonyuan256","domainName":"github"},"branch":"master","displayName":"jacksonyuan256/ip[master]","outputFolderName":"jacksonyuan256_ip_master"},{"location":{"location":"https://github.com/victorlaiyeeteng/ip.git","repoName":"ip","organization":"victorlaiyeeteng","domainName":"github"},"branch":"master","displayName":"victorlaiyeeteng/ip[master]","outputFolderName":"victorlaiyeeteng_ip_master"},{"location":{"location":"https://github.com/prawnzyy/ip.git","repoName":"ip","organization":"prawnzyy","domainName":"github"},"branch":"master","displayName":"prawnzyy/ip[master]","outputFolderName":"prawnzyy_ip_master"},{"location":{"location":"https://github.com/ryanongwx/ip.git","repoName":"ip","organization":"ryanongwx","domainName":"github"},"branch":"master","displayName":"ryanongwx/ip[master]","outputFolderName":"ryanongwx_ip_master"},{"location":{"location":"https://github.com/tohpinren/ip.git","repoName":"ip","organization":"tohpinren","domainName":"github"},"branch":"master","displayName":"tohpinren/ip[master]","outputFolderName":"tohpinren_ip_master"},{"location":{"location":"https://github.com/DeltonCheng/ip.git","repoName":"ip","organization":"DeltonCheng","domainName":"github"},"branch":"master","displayName":"DeltonCheng/ip[master]","outputFolderName":"DeltonCheng_ip_master"},{"location":{"location":"https://github.com/leontan2/ip.git","repoName":"ip","organization":"leontan2","domainName":"github"},"branch":"master","displayName":"leontan2/ip[master]","outputFolderName":"leontan2_ip_master"},{"location":{"location":"https://github.com/alvinlim277/ip.git","repoName":"ip","organization":"alvinlim277","domainName":"github"},"branch":"master","displayName":"alvinlim277/ip[master]","outputFolderName":"alvinlim277_ip_master"},{"location":{"location":"https://github.com/lshaoqin/ip.git","repoName":"ip","organization":"lshaoqin","domainName":"github"},"branch":"master","displayName":"lshaoqin/ip[master]","outputFolderName":"lshaoqin_ip_master"},{"location":{"location":"https://github.com/ChongWeiJie29/ip.git","repoName":"ip","organization":"ChongWeiJie29","domainName":"github"},"branch":"master","displayName":"ChongWeiJie29/ip[master]","outputFolderName":"ChongWeiJie29_ip_master"},{"location":{"location":"https://github.com/zhonghan721/ip.git","repoName":"ip","organization":"zhonghan721","domainName":"github"},"branch":"master","displayName":"zhonghan721/ip[master]","outputFolderName":"zhonghan721_ip_master"},{"location":{"location":"https://github.com/teozhengyang/ip.git","repoName":"ip","organization":"teozhengyang","domainName":"github"},"branch":"master","displayName":"teozhengyang/ip[master]","outputFolderName":"teozhengyang_ip_master"},{"location":{"location":"https://github.com/garylow2001/ip.git","repoName":"ip","organization":"garylow2001","domainName":"github"},"branch":"master","displayName":"garylow2001/ip[master]","outputFolderName":"garylow2001_ip_master"},{"location":{"location":"https://github.com/Cleon2/ip.git","repoName":"ip","organization":"Cleon2","domainName":"github"},"branch":"master","displayName":"Cleon2/ip[master]","outputFolderName":"Cleon2_ip_master"},{"location":{"location":"https://github.com/limzhenwy/ip.git","repoName":"ip","organization":"limzhenwy","domainName":"github"},"branch":"master","displayName":"limzhenwy/ip[master]","outputFolderName":"limzhenwy_ip_master"},{"location":{"location":"https://github.com/ItsTYtan/ip.git","repoName":"ip","organization":"ItsTYtan","domainName":"github"},"branch":"master","displayName":"ItsTYtan/ip[master]","outputFolderName":"ItsTYtan_ip_master"},{"location":{"location":"https://github.com/owenyeo/ip.git","repoName":"ip","organization":"owenyeo","domainName":"github"},"branch":"master","displayName":"owenyeo/ip[master]","outputFolderName":"owenyeo_ip_master"},{"location":{"location":"https://github.com/jonasongg/ip.git","repoName":"ip","organization":"jonasongg","domainName":"github"},"branch":"master","displayName":"jonasongg/ip[master]","outputFolderName":"jonasongg_ip_master"},{"location":{"location":"https://github.com/Ruizhi2001/ip.git","repoName":"ip","organization":"Ruizhi2001","domainName":"github"},"branch":"master","displayName":"Ruizhi2001/ip[master]","outputFolderName":"Ruizhi2001_ip_master"},{"location":{"location":"https://github.com/Dioclei/ip.git","repoName":"ip","organization":"Dioclei","domainName":"github"},"branch":"master","displayName":"Dioclei/ip[master]","outputFolderName":"Dioclei_ip_master"},{"location":{"location":"https://github.com/bobscodedump/ip.git","repoName":"ip","organization":"bobscodedump","domainName":"github"},"branch":"master","displayName":"bobscodedump/ip[master]","outputFolderName":"bobscodedump_ip_master"},{"location":{"location":"https://github.com/andrefoo/ip.git","repoName":"ip","organization":"andrefoo","domainName":"github"},"branch":"master","displayName":"andrefoo/ip[master]","outputFolderName":"andrefoo_ip_master"},{"location":{"location":"https://github.com/Bombbird2001/ip.git","repoName":"ip","organization":"Bombbird2001","domainName":"github"},"branch":"master","displayName":"Bombbird2001/ip[master]","outputFolderName":"Bombbird2001_ip_master"},{"location":{"location":"https://github.com/chewjh1234/ip.git","repoName":"ip","organization":"chewjh1234","domainName":"github"},"branch":"master","displayName":"chewjh1234/ip[master]","outputFolderName":"chewjh1234_ip_master"},{"location":{"location":"https://github.com/dloh2236/ip.git","repoName":"ip","organization":"dloh2236","domainName":"github"},"branch":"master","displayName":"dloh2236/ip[master]","outputFolderName":"dloh2236_ip_master"},{"location":{"location":"https://github.com/chew01/ip.git","repoName":"ip","organization":"chew01","domainName":"github"},"branch":"master","displayName":"chew01/ip[master]","outputFolderName":"chew01_ip_master"},{"location":{"location":"https://github.com/trgao/ip.git","repoName":"ip","organization":"trgao","domainName":"github"},"branch":"master","displayName":"trgao/ip[master]","outputFolderName":"trgao_ip_master"},{"location":{"location":"https://github.com/richiehx/ip.git","repoName":"ip","organization":"richiehx","domainName":"github"},"branch":"master","displayName":"richiehx/ip[master]","outputFolderName":"richiehx_ip_master"},{"location":{"location":"https://github.com/LoMaply/ip.git","repoName":"ip","organization":"LoMaply","domainName":"github"},"branch":"master","displayName":"LoMaply/ip[master]","outputFolderName":"LoMaply_ip_master"},{"location":{"location":"https://github.com/Originalidk/ip.git","repoName":"ip","organization":"Originalidk","domainName":"github"},"branch":"master","displayName":"Originalidk/ip[master]","outputFolderName":"Originalidk_ip_master"},{"location":{"location":"https://github.com/kiatkat/ip.git","repoName":"ip","organization":"kiatkat","domainName":"github"},"branch":"master","displayName":"kiatkat/ip[master]","outputFolderName":"kiatkat_ip_master"},{"location":{"location":"https://github.com/juliusgambe/ip.git","repoName":"ip","organization":"juliusgambe","domainName":"github"},"branch":"master","displayName":"juliusgambe/ip[master]","outputFolderName":"juliusgambe_ip_master"},{"location":{"location":"https://github.com/jiakai-17/ip.git","repoName":"ip","organization":"jiakai-17","domainName":"github"},"branch":"master","displayName":"jiakai-17/ip[master]","outputFolderName":"jiakai-17_ip_master"},{"location":{"location":"https://github.com/nikele2001/ip.git","repoName":"ip","organization":"nikele2001","domainName":"github"},"branch":"master","displayName":"nikele2001/ip[master]","outputFolderName":"nikele2001_ip_master"},{"location":{"location":"https://github.com/jylow/ip.git","repoName":"ip","organization":"jylow","domainName":"github"},"branch":"master","displayName":"jylow/ip[master]","outputFolderName":"jylow_ip_master"},{"location":{"location":"https://github.com/jx124/ip.git","repoName":"ip","organization":"jx124","domainName":"github"},"branch":"master","displayName":"jx124/ip[master]","outputFolderName":"jx124_ip_master"},{"location":{"location":"https://github.com/Kb-Tay/ip.git","repoName":"ip","organization":"Kb-Tay","domainName":"github"},"branch":"master","displayName":"Kb-Tay/ip[master]","outputFolderName":"Kb-Tay_ip_master"},{"location":{"location":"https://github.com/jinyuan0425/ip.git","repoName":"ip","organization":"jinyuan0425","domainName":"github"},"branch":"master","displayName":"jinyuan0425/ip[master]","outputFolderName":"jinyuan0425_ip_master"},{"location":{"location":"https://github.com/darrentfy/ip.git","repoName":"ip","organization":"darrentfy","domainName":"github"},"branch":"master","displayName":"darrentfy/ip[master]","outputFolderName":"darrentfy_ip_master"},{"location":{"location":"https://github.com/HEEaZ/ip.git","repoName":"ip","organization":"HEEaZ","domainName":"github"},"branch":"master","displayName":"HEEaZ/ip[master]","outputFolderName":"HEEaZ_ip_master"},{"location":{"location":"https://github.com/ji-just-ji/ip.git","repoName":"ip","organization":"ji-just-ji","domainName":"github"},"branch":"master","displayName":"ji-just-ji/ip[master]","outputFolderName":"ji-just-ji_ip_master"},{"location":{"location":"https://github.com/simbayippy/ip.git","repoName":"ip","organization":"simbayippy","domainName":"github"},"branch":"master","displayName":"simbayippy/ip[master]","outputFolderName":"simbayippy_ip_master"},{"location":{"location":"https://github.com/teozern1/ip.git","repoName":"ip","organization":"teozern1","domainName":"github"},"branch":"master","displayName":"teozern1/ip[master]","outputFolderName":"teozern1_ip_master"},{"location":{"location":"https://github.com/brein62/ip.git","repoName":"ip","organization":"brein62","domainName":"github"},"branch":"master","displayName":"brein62/ip[master]","outputFolderName":"brein62_ip_master"},{"location":{"location":"https://github.com/awhb/ip.git","repoName":"ip","organization":"awhb","domainName":"github"},"branch":"master","displayName":"awhb/ip[master]","outputFolderName":"awhb_ip_master"},{"location":{"location":"https://github.com/Mahidharah/ip.git","repoName":"ip","organization":"Mahidharah","domainName":"github"},"branch":"master","displayName":"Mahidharah/ip[master]","outputFolderName":"Mahidharah_ip_master"},{"location":{"location":"https://github.com/timetraveller-123/ip.git","repoName":"ip","organization":"timetraveller-123","domainName":"github"},"branch":"master","displayName":"timetraveller-123/ip[master]","outputFolderName":"timetraveller-123_ip_master"},{"location":{"location":"https://github.com/ElginTZM/ip.git","repoName":"ip","organization":"ElginTZM","domainName":"github"},"branch":"master","displayName":"ElginTZM/ip[master]","outputFolderName":"ElginTZM_ip_master"},{"location":{"location":"https://github.com/ryamgoh/ip.git","repoName":"ip","organization":"ryamgoh","domainName":"github"},"branch":"master","displayName":"ryamgoh/ip[master]","outputFolderName":"ryamgoh_ip_master"},{"location":{"location":"https://github.com/Blizzeracz/ip.git","repoName":"ip","organization":"Blizzeracz","domainName":"github"},"branch":"master","displayName":"Blizzeracz/ip[master]","outputFolderName":"Blizzeracz_ip_master"},{"location":{"location":"https://github.com/kiwibang/ip.git","repoName":"ip","organization":"kiwibang","domainName":"github"},"branch":"master","displayName":"kiwibang/ip[master]","outputFolderName":"kiwibang_ip_master"},{"location":{"location":"https://github.com/redtailedfox/ip.git","repoName":"ip","organization":"redtailedfox","domainName":"github"},"branch":"master","displayName":"redtailedfox/ip[master]","outputFolderName":"redtailedfox_ip_master"},{"location":{"location":"https://github.com/lamchenghou/ip.git","repoName":"ip","organization":"lamchenghou","domainName":"github"},"branch":"master","displayName":"lamchenghou/ip[master]","outputFolderName":"lamchenghou_ip_master"},{"location":{"location":"https://github.com/gongg21/ip.git","repoName":"ip","organization":"gongg21","domainName":"github"},"branch":"master","displayName":"gongg21/ip[master]","outputFolderName":"gongg21_ip_master"},{"location":{"location":"https://github.com/CJ-Lee01/ip.git","repoName":"ip","organization":"CJ-Lee01","domainName":"github"},"branch":"master","displayName":"CJ-Lee01/ip[master]","outputFolderName":"CJ-Lee01_ip_master"},{"location":{"location":"https://github.com/Sheeepen/ip.git","repoName":"ip","organization":"Sheeepen","domainName":"github"},"branch":"master","displayName":"Sheeepen/ip[master]","outputFolderName":"Sheeepen_ip_master"},{"location":{"location":"https://github.com/AaronJT1/ip.git","repoName":"ip","organization":"AaronJT1","domainName":"github"},"branch":"master","displayName":"AaronJT1/ip[master]","outputFolderName":"AaronJT1_ip_master"},{"location":{"location":"https://github.com/Respirayson/ip.git","repoName":"ip","organization":"Respirayson","domainName":"github"},"branch":"master","displayName":"Respirayson/ip[master]","outputFolderName":"Respirayson_ip_master"},{"location":{"location":"https://github.com/dickongwd/ip.git","repoName":"ip","organization":"dickongwd","domainName":"github"},"branch":"master","displayName":"dickongwd/ip[master]","outputFolderName":"dickongwd_ip_master"},{"location":{"location":"https://github.com/nicholascher/ip.git","repoName":"ip","organization":"nicholascher","domainName":"github"},"branch":"master","displayName":"nicholascher/ip[master]","outputFolderName":"nicholascher_ip_master"},{"location":{"location":"https://github.com/et-irl/ip.git","repoName":"ip","organization":"et-irl","domainName":"github"},"branch":"master","displayName":"et-irl/ip[master]","outputFolderName":"et-irl_ip_master"},{"location":{"location":"https://github.com/aslam341/ip.git","repoName":"ip","organization":"aslam341","domainName":"github"},"branch":"master","displayName":"aslam341/ip[master]","outputFolderName":"aslam341_ip_master"},{"location":{"location":"https://github.com/seantehds/ip.git","repoName":"ip","organization":"seantehds","domainName":"github"},"branch":"master","displayName":"seantehds/ip[master]","outputFolderName":"seantehds_ip_master"},{"location":{"location":"https://github.com/jianrong7/ip.git","repoName":"ip","organization":"jianrong7","domainName":"github"},"branch":"master","displayName":"jianrong7/ip[master]","outputFolderName":"jianrong7_ip_master"},{"location":{"location":"https://github.com/TeeRenJing/ip.git","repoName":"ip","organization":"TeeRenJing","domainName":"github"},"branch":"master","displayName":"TeeRenJing/ip[master]","outputFolderName":"TeeRenJing_ip_master"},{"location":{"location":"https://github.com/RoeReRe/ip.git","repoName":"ip","organization":"RoeReRe","domainName":"github"},"branch":"master","displayName":"RoeReRe/ip[master]","outputFolderName":"RoeReRe_ip_master"},{"location":{"location":"https://github.com/zsh-eng/ip.git","repoName":"ip","organization":"zsh-eng","domainName":"github"},"branch":"master","displayName":"zsh-eng/ip[master]","outputFolderName":"zsh-eng_ip_master"},{"location":{"location":"https://github.com/seanpzk/ip.git","repoName":"ip","organization":"seanpzk","domainName":"github"},"branch":"master","displayName":"seanpzk/ip[master]","outputFolderName":"seanpzk_ip_master"},{"location":{"location":"https://github.com/quzhetao01/ip.git","repoName":"ip","organization":"quzhetao01","domainName":"github"},"branch":"master","displayName":"quzhetao01/ip[master]","outputFolderName":"quzhetao01_ip_master"},{"location":{"location":"https://github.com/joel-foo/ip.git","repoName":"ip","organization":"joel-foo","domainName":"github"},"branch":"master","displayName":"joel-foo/ip[master]","outputFolderName":"joel-foo_ip_master"},{"location":{"location":"https://github.com/markgcera/ip.git","repoName":"ip","organization":"markgcera","domainName":"github"},"branch":"master","displayName":"markgcera/ip[master]","outputFolderName":"markgcera_ip_master"},{"location":{"location":"https://github.com/dylkaw/ip.git","repoName":"ip","organization":"dylkaw","domainName":"github"},"branch":"master","displayName":"dylkaw/ip[master]","outputFolderName":"dylkaw_ip_master"},{"location":{"location":"https://github.com/SelwynAng/ip.git","repoName":"ip","organization":"SelwynAng","domainName":"github"},"branch":"master","displayName":"SelwynAng/ip[master]","outputFolderName":"SelwynAng_ip_master"},{"location":{"location":"https://github.com/jinyang628/ip.git","repoName":"ip","organization":"jinyang628","domainName":"github"},"branch":"master","displayName":"jinyang628/ip[master]","outputFolderName":"jinyang628_ip_master"},{"location":{"location":"https://github.com/matochichap/ip.git","repoName":"ip","organization":"matochichap","domainName":"github"},"branch":"master","displayName":"matochichap/ip[master]","outputFolderName":"matochichap_ip_master"},{"location":{"location":"https://github.com/sk2001git/ip.git","repoName":"ip","organization":"sk2001git","domainName":"github"},"branch":"master","displayName":"sk2001git/ip[master]","outputFolderName":"sk2001git_ip_master"},{"location":{"location":"https://github.com/jason-raiin/ip.git","repoName":"ip","organization":"jason-raiin","domainName":"github"},"branch":"master","displayName":"jason-raiin/ip[master]","outputFolderName":"jason-raiin_ip_master"},{"location":{"location":"https://github.com/Sebtey/ip.git","repoName":"ip","organization":"Sebtey","domainName":"github"},"branch":"master","displayName":"Sebtey/ip[master]","outputFolderName":"Sebtey_ip_master"},{"location":{"location":"https://github.com/Jweng88/ip.git","repoName":"ip","organization":"Jweng88","domainName":"github"},"branch":"master","displayName":"Jweng88/ip[master]","outputFolderName":"Jweng88_ip_master"},{"location":{"location":"https://github.com/billieboy7/ip.git","repoName":"ip","organization":"billieboy7","domainName":"github"},"branch":"master","displayName":"billieboy7/ip[master]","outputFolderName":"billieboy7_ip_master"},{"location":{"location":"https://github.com/ldinghan/ip.git","repoName":"ip","organization":"ldinghan","domainName":"github"},"branch":"master","displayName":"ldinghan/ip[master]","outputFolderName":"ldinghan_ip_master"},{"location":{"location":"https://github.com/anthonytamzil/ip.git","repoName":"ip","organization":"anthonytamzil","domainName":"github"},"branch":"master","displayName":"anthonytamzil/ip[master]","outputFolderName":"anthonytamzil_ip_master"},{"location":{"location":"https://github.com/ryantzr1/ip.git","repoName":"ip","organization":"ryantzr1","domainName":"github"},"branch":"master","displayName":"ryantzr1/ip[master]","outputFolderName":"ryantzr1_ip_master"},{"location":{"location":"https://github.com/shuyangk/ip.git","repoName":"ip","organization":"shuyangk","domainName":"github"},"branch":"master","displayName":"shuyangk/ip[master]","outputFolderName":"shuyangk_ip_master"},{"location":{"location":"https://github.com/seewhyjay/ip.git","repoName":"ip","organization":"seewhyjay","domainName":"github"},"branch":"master","displayName":"seewhyjay/ip[master]","outputFolderName":"seewhyjay_ip_master"},{"location":{"location":"https://github.com/waseemingly/ip.git","repoName":"ip","organization":"waseemingly","domainName":"github"},"branch":"master","displayName":"waseemingly/ip[master]","outputFolderName":"waseemingly_ip_master"},{"location":{"location":"https://github.com/DistractedCat/ip.git","repoName":"ip","organization":"DistractedCat","domainName":"github"},"branch":"master","displayName":"DistractedCat/ip[master]","outputFolderName":"DistractedCat_ip_master"},{"location":{"location":"https://github.com/geraldngjx/ip.git","repoName":"ip","organization":"geraldngjx","domainName":"github"},"branch":"master","displayName":"geraldngjx/ip[master]","outputFolderName":"geraldngjx_ip_master"},{"location":{"location":"https://github.com/tayian/ip.git","repoName":"ip","organization":"tayian","domainName":"github"},"branch":"master","displayName":"tayian/ip[master]","outputFolderName":"tayian_ip_master"},{"location":{"location":"https://github.com/AlfredBeNoel/ip.git","repoName":"ip","organization":"AlfredBeNoel","domainName":"github"},"branch":"master","displayName":"AlfredBeNoel/ip[master]","outputFolderName":"AlfredBeNoel_ip_master"},{"location":{"location":"https://github.com/Chen1x/ip.git","repoName":"ip","organization":"Chen1x","domainName":"github"},"branch":"master","displayName":"Chen1x/ip[master]","outputFolderName":"Chen1x_ip_master"},{"location":{"location":"https://github.com/juzzztinsoong/ip.git","repoName":"ip","organization":"juzzztinsoong","domainName":"github"},"branch":"master","displayName":"juzzztinsoong/ip[master]","outputFolderName":"juzzztinsoong_ip_master"},{"location":{"location":"https://github.com/lambraydon/ip.git","repoName":"ip","organization":"lambraydon","domainName":"github"},"branch":"master","displayName":"lambraydon/ip[master]","outputFolderName":"lambraydon_ip_master"},{"location":{"location":"https://github.com/lilozz2/ip.git","repoName":"ip","organization":"lilozz2","domainName":"github"},"branch":"master","displayName":"lilozz2/ip[master]","outputFolderName":"lilozz2_ip_master"},{"location":{"location":"https://github.com/tyouwei/ip.git","repoName":"ip","organization":"tyouwei","domainName":"github"},"branch":"master","displayName":"tyouwei/ip[master]","outputFolderName":"tyouwei_ip_master"},{"location":{"location":"https://github.com/Kailash201/ip.git","repoName":"ip","organization":"Kailash201","domainName":"github"},"branch":"master","displayName":"Kailash201/ip[master]","outputFolderName":"Kailash201_ip_master"},{"location":{"location":"https://github.com/tjingsheng/ip.git","repoName":"ip","organization":"tjingsheng","domainName":"github"},"branch":"master","displayName":"tjingsheng/ip[master]","outputFolderName":"tjingsheng_ip_master"},{"location":{"location":"https://github.com/pangyyen/ip.git","repoName":"ip","organization":"pangyyen","domainName":"github"},"branch":"master","displayName":"pangyyen/ip[master]","outputFolderName":"pangyyen_ip_master"},{"location":{"location":"https://github.com/Khaleelur-Rahman/ip.git","repoName":"ip","organization":"Khaleelur-Rahman","domainName":"github"},"branch":"master","displayName":"Khaleelur-Rahman/ip[master]","outputFolderName":"Khaleelur-Rahman_ip_master"},{"location":{"location":"https://github.com/erohsikivar/ip.git","repoName":"ip","organization":"erohsikivar","domainName":"github"},"branch":"master","displayName":"erohsikivar/ip[master]","outputFolderName":"erohsikivar_ip_master"},{"location":{"location":"https://github.com/shishirbychapur/ip.git","repoName":"ip","organization":"shishirbychapur","domainName":"github"},"branch":"master","displayName":"shishirbychapur/ip[master]","outputFolderName":"shishirbychapur_ip_master"},{"location":{"location":"https://github.com/Badatprogrammiing/ip.git","repoName":"ip","organization":"Badatprogrammiing","domainName":"github"},"branch":"master","displayName":"Badatprogrammiing/ip[master]","outputFolderName":"Badatprogrammiing_ip_master"},{"location":{"location":"https://github.com/Angelyxx/ip.git","repoName":"ip","organization":"Angelyxx","domainName":"github"},"branch":"master","displayName":"Angelyxx/ip[master]","outputFolderName":"Angelyxx_ip_master"},{"location":{"location":"https://github.com/ravern/ip.git","repoName":"ip","organization":"ravern","domainName":"github"},"branch":"master","displayName":"ravern/ip[master]","outputFolderName":"ravern_ip_master"},{"location":{"location":"https://github.com/B-enguin/ip.git","repoName":"ip","organization":"B-enguin","domainName":"github"},"branch":"master","displayName":"B-enguin/ip[master]","outputFolderName":"B-enguin_ip_master"},{"location":{"location":"https://github.com/AlyssaPng/ip.git","repoName":"ip","organization":"AlyssaPng","domainName":"github"},"branch":"master","displayName":"AlyssaPng/ip[master]","outputFolderName":"AlyssaPng_ip_master"},{"location":{"location":"https://github.com/flexibo/ip.git","repoName":"ip","organization":"flexibo","domainName":"github"},"branch":"master","displayName":"flexibo/ip[master]","outputFolderName":"flexibo_ip_master"},{"location":{"location":"https://github.com/lordidiot/ip.git","repoName":"ip","organization":"lordidiot","domainName":"github"},"branch":"master","displayName":"lordidiot/ip[master]","outputFolderName":"lordidiot_ip_master"},{"location":{"location":"https://github.com/vansh284/ip.git","repoName":"ip","organization":"vansh284","domainName":"github"},"branch":"master","displayName":"vansh284/ip[master]","outputFolderName":"vansh284_ip_master"},{"location":{"location":"https://github.com/samuelim01/ip.git","repoName":"ip","organization":"samuelim01","domainName":"github"},"branch":"master","displayName":"samuelim01/ip[master]","outputFolderName":"samuelim01_ip_master"},{"location":{"location":"https://github.com/WZWren/ip.git","repoName":"ip","organization":"WZWren","domainName":"github"},"branch":"master","displayName":"WZWren/ip[master]","outputFolderName":"WZWren_ip_master"},{"location":{"location":"https://github.com/cxo05/ip.git","repoName":"ip","organization":"cxo05","domainName":"github"},"branch":"master","displayName":"cxo05/ip[master]","outputFolderName":"cxo05_ip_master"},{"location":{"location":"https://github.com/sudarshan2401/ip.git","repoName":"ip","organization":"sudarshan2401","domainName":"github"},"branch":"master","displayName":"sudarshan2401/ip[master]","outputFolderName":"sudarshan2401_ip_master"},{"location":{"location":"https://github.com/jingyu987/ip.git","repoName":"ip","organization":"jingyu987","domainName":"github"},"branch":"master","displayName":"jingyu987/ip[master]","outputFolderName":"jingyu987_ip_master"},{"location":{"location":"https://github.com/H1410101/ip.git","repoName":"ip","organization":"H1410101","domainName":"github"},"branch":"master","displayName":"H1410101/ip[master]","outputFolderName":"H1410101_ip_master"},{"location":{"location":"https://github.com/MagnificentCreature/ip.git","repoName":"ip","organization":"MagnificentCreature","domainName":"github"},"branch":"master","displayName":"MagnificentCreature/ip[master]","outputFolderName":"MagnificentCreature_ip_master"},{"location":{"location":"https://github.com/shyanyong/ip.git","repoName":"ip","organization":"shyanyong","domainName":"github"},"branch":"master","displayName":"shyanyong/ip[master]","outputFolderName":"shyanyong_ip_master"},{"location":{"location":"https://github.com/peasantbird/ip.git","repoName":"ip","organization":"peasantbird","domainName":"github"},"branch":"master","displayName":"peasantbird/ip[master]","outputFolderName":"peasantbird_ip_master"},{"location":{"location":"https://github.com/tllshan/ip.git","repoName":"ip","organization":"tllshan","domainName":"github"},"branch":"master","displayName":"tllshan/ip[master]","outputFolderName":"tllshan_ip_master"},{"location":{"location":"https://github.com/sushiyade/ip.git","repoName":"ip","organization":"sushiyade","domainName":"github"},"branch":"master","displayName":"sushiyade/ip[master]","outputFolderName":"sushiyade_ip_master"},{"location":{"location":"https://github.com/iyioon/ip.git","repoName":"ip","organization":"iyioon","domainName":"github"},"branch":"master","displayName":"iyioon/ip[master]","outputFolderName":"iyioon_ip_master"},{"location":{"location":"https://github.com/shashahchk/ip.git","repoName":"ip","organization":"shashahchk","domainName":"github"},"branch":"master","displayName":"shashahchk/ip[master]","outputFolderName":"shashahchk_ip_master"},{"location":{"location":"https://github.com/Chandan8186/ip.git","repoName":"ip","organization":"Chandan8186","domainName":"github"},"branch":"master","displayName":"Chandan8186/ip[master]","outputFolderName":"Chandan8186_ip_master"},{"location":{"location":"https://github.com/wesho1107/ip.git","repoName":"ip","organization":"wesho1107","domainName":"github"},"branch":"master","displayName":"wesho1107/ip[master]","outputFolderName":"wesho1107_ip_master"},{"location":{"location":"https://github.com/tim-pipi/ip.git","repoName":"ip","organization":"tim-pipi","domainName":"github"},"branch":"master","displayName":"tim-pipi/ip[master]","outputFolderName":"tim-pipi_ip_master"},{"location":{"location":"https://github.com/emzm2023/ip.git","repoName":"ip","organization":"emzm2023","domainName":"github"},"branch":"master","displayName":"emzm2023/ip[master]","outputFolderName":"emzm2023_ip_master"},{"location":{"location":"https://github.com/dlathyun/ip.git","repoName":"ip","organization":"dlathyun","domainName":"github"},"branch":"master","displayName":"dlathyun/ip[master]","outputFolderName":"dlathyun_ip_master"},{"location":{"location":"https://github.com/tanboonkhong/ip.git","repoName":"ip","organization":"tanboonkhong","domainName":"github"},"branch":"master","displayName":"tanboonkhong/ip[master]","outputFolderName":"tanboonkhong_ip_master"},{"location":{"location":"https://github.com/joeng03/ip.git","repoName":"ip","organization":"joeng03","domainName":"github"},"branch":"master","displayName":"joeng03/ip[master]","outputFolderName":"joeng03_ip_master"},{"location":{"location":"https://github.com/VN-Hao/ip.git","repoName":"ip","organization":"VN-Hao","domainName":"github"},"branch":"master","displayName":"VN-Hao/ip[master]","outputFolderName":"VN-Hao_ip_master"},{"location":{"location":"https://github.com/NgChunMan/ip.git","repoName":"ip","organization":"NgChunMan","domainName":"github"},"branch":"master","displayName":"NgChunMan/ip[master]","outputFolderName":"NgChunMan_ip_master"},{"location":{"location":"https://github.com/TiwKangXu/ip.git","repoName":"ip","organization":"TiwKangXu","domainName":"github"},"branch":"master","displayName":"TiwKangXu/ip[master]","outputFolderName":"TiwKangXu_ip_master"},{"location":{"location":"https://github.com/josepholim/ip.git","repoName":"ip","organization":"josepholim","domainName":"github"},"branch":"master","displayName":"josepholim/ip[master]","outputFolderName":"josepholim_ip_master"},{"location":{"location":"https://github.com/dinde2004/ip.git","repoName":"ip","organization":"dinde2004","domainName":"github"},"branch":"master","displayName":"dinde2004/ip[master]","outputFolderName":"dinde2004_ip_master"},{"location":{"location":"https://github.com/yucongkoo/ip.git","repoName":"ip","organization":"yucongkoo","domainName":"github"},"branch":"master","displayName":"yucongkoo/ip[master]","outputFolderName":"yucongkoo_ip_master"},{"location":{"location":"https://github.com/TohLiYuan/ip.git","repoName":"ip","organization":"TohLiYuan","domainName":"github"},"branch":"master","displayName":"TohLiYuan/ip[master]","outputFolderName":"TohLiYuan_ip_master"},{"location":{"location":"https://github.com/NereusWB922/ip.git","repoName":"ip","organization":"NereusWB922","domainName":"github"},"branch":"master","displayName":"NereusWB922/ip[master]","outputFolderName":"NereusWB922_ip_master"},{"location":{"location":"https://github.com/ph-nathan/ip.git","repoName":"ip","organization":"ph-nathan","domainName":"github"},"branch":"master","displayName":"ph-nathan/ip[master]","outputFolderName":"ph-nathan_ip_master"},{"location":{"location":"https://github.com/antonTan96/ip.git","repoName":"ip","organization":"antonTan96","domainName":"github"},"branch":"master","displayName":"antonTan96/ip[master]","outputFolderName":"antonTan96_ip_master"},{"location":{"location":"https://github.com/WinstonLeonard/ip.git","repoName":"ip","organization":"WinstonLeonard","domainName":"github"},"branch":"master","displayName":"WinstonLeonard/ip[master]","outputFolderName":"WinstonLeonard_ip_master"},{"location":{"location":"https://github.com/TehOPanas/ip.git","repoName":"ip","organization":"TehOPanas","domainName":"github"},"branch":"master","displayName":"TehOPanas/ip[master]","outputFolderName":"TehOPanas_ip_master"},{"location":{"location":"https://github.com/marioalvaro/ip.git","repoName":"ip","organization":"marioalvaro","domainName":"github"},"branch":"master","displayName":"marioalvaro/ip[master]","outputFolderName":"marioalvaro_ip_master"},{"location":{"location":"https://github.com/LINCHENYU2030S/ip.git","repoName":"ip","organization":"LINCHENYU2030S","domainName":"github"},"branch":"master","displayName":"LINCHENYU2030S/ip[master]","outputFolderName":"LINCHENYU2030S_ip_master"},{"location":{"location":"https://github.com/LamJiuFong/ip.git","repoName":"ip","organization":"LamJiuFong","domainName":"github"},"branch":"master","displayName":"LamJiuFong/ip[master]","outputFolderName":"LamJiuFong_ip_master"},{"location":{"location":"https://github.com/AndrewJanong/ip.git","repoName":"ip","organization":"AndrewJanong","domainName":"github"},"branch":"master","displayName":"AndrewJanong/ip[master]","outputFolderName":"AndrewJanong_ip_master"},{"location":{"location":"https://github.com/songfangyl/ip.git","repoName":"ip","organization":"songfangyl","domainName":"github"},"branch":"master","displayName":"songfangyl/ip[master]","outputFolderName":"songfangyl_ip_master"},{"location":{"location":"https://github.com/AriellaCallista/ip.git","repoName":"ip","organization":"AriellaCallista","domainName":"github"},"branch":"master","displayName":"AriellaCallista/ip[master]","outputFolderName":"AriellaCallista_ip_master"},{"location":{"location":"https://github.com/KamJiaYue/ip.git","repoName":"ip","organization":"KamJiaYue","domainName":"github"},"branch":"master","displayName":"KamJiaYue/ip[master]","outputFolderName":"KamJiaYue_ip_master"},{"location":{"location":"https://github.com/feifeiraindrops/ip.git","repoName":"ip","organization":"feifeiraindrops","domainName":"github"},"branch":"master","displayName":"feifeiraindrops/ip[master]","outputFolderName":"feifeiraindrops_ip_master"},{"location":{"location":"https://github.com/czhiruo/ip.git","repoName":"ip","organization":"czhiruo","domainName":"github"},"branch":"master","displayName":"czhiruo/ip[master]","outputFolderName":"czhiruo_ip_master"},{"location":{"location":"https://github.com/butteredyakiimo/ip.git","repoName":"ip","organization":"butteredyakiimo","domainName":"github"},"branch":"master","displayName":"butteredyakiimo/ip[master]","outputFolderName":"butteredyakiimo_ip_master"},{"location":{"location":"https://github.com/RiyaMehta2211/ip.git","repoName":"ip","organization":"RiyaMehta2211","domainName":"github"},"branch":"master","displayName":"RiyaMehta2211/ip[master]","outputFolderName":"RiyaMehta2211_ip_master"},{"location":{"location":"https://github.com/beatricecst/ip.git","repoName":"ip","organization":"beatricecst","domainName":"github"},"branch":"master","displayName":"beatricecst/ip[master]","outputFolderName":"beatricecst_ip_master"},{"location":{"location":"https://github.com/maypfv/ip.git","repoName":"ip","organization":"maypfv","domainName":"github"},"branch":"master","displayName":"maypfv/ip[master]","outputFolderName":"maypfv_ip_master"},{"location":{"location":"https://github.com/pra-navi/ip.git","repoName":"ip","organization":"pra-navi","domainName":"github"},"branch":"master","displayName":"pra-navi/ip[master]","outputFolderName":"pra-navi_ip_master"},{"location":{"location":"https://github.com/xxiaoweii/ip.git","repoName":"ip","organization":"xxiaoweii","domainName":"github"},"branch":"master","displayName":"xxiaoweii/ip[master]","outputFolderName":"xxiaoweii_ip_master"},{"location":{"location":"https://github.com/qyaner/ip.git","repoName":"ip","organization":"qyaner","domainName":"github"},"branch":"master","displayName":"qyaner/ip[master]","outputFolderName":"qyaner_ip_master"},{"location":{"location":"https://github.com/qz1004/ip.git","repoName":"ip","organization":"qz1004","domainName":"github"},"branch":"master","displayName":"qz1004/ip[master]","outputFolderName":"qz1004_ip_master"},{"location":{"location":"https://github.com/miljyy/ip.git","repoName":"ip","organization":"miljyy","domainName":"github"},"branch":"master","displayName":"miljyy/ip[master]","outputFolderName":"miljyy_ip_master"},{"location":{"location":"https://github.com/yihfei/ip.git","repoName":"ip","organization":"yihfei","domainName":"github"},"branch":"master","displayName":"yihfei/ip[master]","outputFolderName":"yihfei_ip_master"},{"location":{"location":"https://github.com/Gabriel4357/ip.git","repoName":"ip","organization":"Gabriel4357","domainName":"github"},"branch":"master","displayName":"Gabriel4357/ip[master]","outputFolderName":"Gabriel4357_ip_master"},{"location":{"location":"https://github.com/saraozn/ip.git","repoName":"ip","organization":"saraozn","domainName":"github"},"branch":"master","displayName":"saraozn/ip[master]","outputFolderName":"saraozn_ip_master"},{"location":{"location":"https://github.com/JeremyYong128/ip.git","repoName":"ip","organization":"JeremyYong128","domainName":"github"},"branch":"master","displayName":"JeremyYong128/ip[master]","outputFolderName":"JeremyYong128_ip_master"},{"location":{"location":"https://github.com/samuelmui8/ip.git","repoName":"ip","organization":"samuelmui8","domainName":"github"},"branch":"master","displayName":"samuelmui8/ip[master]","outputFolderName":"samuelmui8_ip_master"},{"location":{"location":"https://github.com/elaineshijie/ip.git","repoName":"ip","organization":"elaineshijie","domainName":"github"},"branch":"master","displayName":"elaineshijie/ip[master]","outputFolderName":"elaineshijie_ip_master"},{"location":{"location":"https://github.com/zhengyup/ip.git","repoName":"ip","organization":"zhengyup","domainName":"github"},"branch":"master","displayName":"zhengyup/ip[master]","outputFolderName":"zhengyup_ip_master"},{"location":{"location":"https://github.com/ruishanteo/ip.git","repoName":"ip","organization":"ruishanteo","domainName":"github"},"branch":"master","displayName":"ruishanteo/ip[master]","outputFolderName":"ruishanteo_ip_master"},{"location":{"location":"https://github.com/lynnlow175/ip.git","repoName":"ip","organization":"lynnlow175","domainName":"github"},"branch":"master","displayName":"lynnlow175/ip[master]","outputFolderName":"lynnlow175_ip_master"},{"location":{"location":"https://github.com/kohkaijie/ip.git","repoName":"ip","organization":"kohkaijie","domainName":"github"},"branch":"master","displayName":"kohkaijie/ip[master]","outputFolderName":"kohkaijie_ip_master"},{"location":{"location":"https://github.com/CelestineTan03/ip.git","repoName":"ip","organization":"CelestineTan03","domainName":"github"},"branch":"master","displayName":"CelestineTan03/ip[master]","outputFolderName":"CelestineTan03_ip_master"},{"location":{"location":"https://github.com/PearlynnT/ip.git","repoName":"ip","organization":"PearlynnT","domainName":"github"},"branch":"master","displayName":"PearlynnT/ip[master]","outputFolderName":"PearlynnT_ip_master"},{"location":{"location":"https://github.com/Elijah5399/ip.git","repoName":"ip","organization":"Elijah5399","domainName":"github"},"branch":"master","displayName":"Elijah5399/ip[master]","outputFolderName":"Elijah5399_ip_master"},{"location":{"location":"https://github.com/nicleongyj/ip.git","repoName":"ip","organization":"nicleongyj","domainName":"github"},"branch":"master","displayName":"nicleongyj/ip[master]","outputFolderName":"nicleongyj_ip_master"},{"location":{"location":"https://github.com/AnnabelTing/ip.git","repoName":"ip","organization":"AnnabelTing","domainName":"github"},"branch":"master","displayName":"AnnabelTing/ip[master]","outputFolderName":"AnnabelTing_ip_master"},{"location":{"location":"https://github.com/jrchoo/ip.git","repoName":"ip","organization":"jrchoo","domainName":"github"},"branch":"master","displayName":"jrchoo/ip[master]","outputFolderName":"jrchoo_ip_master"},{"location":{"location":"https://github.com/wujy28/ip.git","repoName":"ip","organization":"wujy28","domainName":"github"},"branch":"master","displayName":"wujy28/ip[master]","outputFolderName":"wujy28_ip_master"},{"location":{"location":"https://github.com/Nauxe/ip.git","repoName":"ip","organization":"Nauxe","domainName":"github"},"branch":"master","displayName":"Nauxe/ip[master]","outputFolderName":"Nauxe_ip_master"},{"location":{"location":"https://github.com/yyyaohhh/ip.git","repoName":"ip","organization":"yyyaohhh","domainName":"github"},"branch":"master","displayName":"yyyaohhh/ip[master]","outputFolderName":"yyyaohhh_ip_master"},{"location":{"location":"https://github.com/xenosf/ip.git","repoName":"ip","organization":"xenosf","domainName":"github"},"branch":"master","displayName":"xenosf/ip[master]","outputFolderName":"xenosf_ip_master"},{"location":{"location":"https://github.com/WinSheng1/ip.git","repoName":"ip","organization":"WinSheng1","domainName":"github"},"branch":"master","displayName":"WinSheng1/ip[master]","outputFolderName":"WinSheng1_ip_master"},{"location":{"location":"https://github.com/nreHieW/ip.git","repoName":"ip","organization":"nreHieW","domainName":"github"},"branch":"master","displayName":"nreHieW/ip[master]","outputFolderName":"nreHieW_ip_master"},{"location":{"location":"https://github.com/peiran18/ip.git","repoName":"ip","organization":"peiran18","domainName":"github"},"branch":"master","displayName":"peiran18/ip[master]","outputFolderName":"peiran18_ip_master"},{"location":{"location":"https://github.com/cheeggered/ip.git","repoName":"ip","organization":"cheeggered","domainName":"github"},"branch":"master","displayName":"cheeggered/ip[master]","outputFolderName":"cheeggered_ip_master"},{"location":{"location":"https://github.com/GohTengFong/ip.git","repoName":"ip","organization":"GohTengFong","domainName":"github"},"branch":"master","displayName":"GohTengFong/ip[master]","outputFolderName":"GohTengFong_ip_master"},{"location":{"location":"https://github.com/jibtaf/ip.git","repoName":"ip","organization":"jibtaf","domainName":"github"},"branch":"master","displayName":"jibtaf/ip[master]","outputFolderName":"jibtaf_ip_master"},{"location":{"location":"https://github.com/bhnuka/ip.git","repoName":"ip","organization":"bhnuka","domainName":"github"},"branch":"master","displayName":"bhnuka/ip[master]","outputFolderName":"bhnuka_ip_master"},{"location":{"location":"https://github.com/laurenlim2112/ip.git","repoName":"ip","organization":"laurenlim2112","domainName":"github"},"branch":"master","displayName":"laurenlim2112/ip[master]","outputFolderName":"laurenlim2112_ip_master"},{"location":{"location":"https://github.com/howenc/ip.git","repoName":"ip","organization":"howenc","domainName":"github"},"branch":"master","displayName":"howenc/ip[master]","outputFolderName":"howenc_ip_master"},{"location":{"location":"https://github.com/Kokseng1/ip.git","repoName":"ip","organization":"Kokseng1","domainName":"github"},"branch":"master","displayName":"Kokseng1/ip[master]","outputFolderName":"Kokseng1_ip_master"},{"location":{"location":"https://github.com/yiwen101/ip.git","repoName":"ip","organization":"yiwen101","domainName":"github"},"branch":"master","displayName":"yiwen101/ip[master]","outputFolderName":"yiwen101_ip_master"},{"location":{"location":"https://github.com/Cikguseven/ip.git","repoName":"ip","organization":"Cikguseven","domainName":"github"},"branch":"master","displayName":"Cikguseven/ip[master]","outputFolderName":"Cikguseven_ip_master"},{"location":{"location":"https://github.com/javinchua/ip.git","repoName":"ip","organization":"javinchua","domainName":"github"},"branch":"master","displayName":"javinchua/ip[master]","outputFolderName":"javinchua_ip_master"},{"location":{"location":"https://github.com/frrrrry/ip.git","repoName":"ip","organization":"frrrrry","domainName":"github"},"branch":"master","displayName":"frrrrry/ip[master]","outputFolderName":"frrrrry_ip_master"},{"location":{"location":"https://github.com/YeoBohShin/ip.git","repoName":"ip","organization":"YeoBohShin","domainName":"github"},"branch":"master","displayName":"YeoBohShin/ip[master]","outputFolderName":"YeoBohShin_ip_master"},{"location":{"location":"https://github.com/yongning0310/ip.git","repoName":"ip","organization":"yongning0310","domainName":"github"},"branch":"master","displayName":"yongning0310/ip[master]","outputFolderName":"yongning0310_ip_master"},{"location":{"location":"https://github.com/SimWPEric/ip.git","repoName":"ip","organization":"SimWPEric","domainName":"github"},"branch":"master","displayName":"SimWPEric/ip[master]","outputFolderName":"SimWPEric_ip_master"},{"location":{"location":"https://github.com/sopa301/ip.git","repoName":"ip","organization":"sopa301","domainName":"github"},"branch":"master","displayName":"sopa301/ip[master]","outputFolderName":"sopa301_ip_master"},{"location":{"location":"https://github.com/nananakx-x/ip.git","repoName":"ip","organization":"nananakx-x","domainName":"github"},"branch":"master","displayName":"nananakx-x/ip[master]","outputFolderName":"nananakx-x_ip_master"},{"location":{"location":"https://github.com/LuoZYi/ip.git","repoName":"ip","organization":"LuoZYi","domainName":"github"},"branch":"master","displayName":"LuoZYi/ip[master]","outputFolderName":"LuoZYi_ip_master"},{"location":{"location":"https://github.com/LinWanLeii/ip.git","repoName":"ip","organization":"LinWanLeii","domainName":"github"},"branch":"master","displayName":"LinWanLeii/ip[master]","outputFolderName":"LinWanLeii_ip_master"},{"location":{"location":"https://github.com/mingyuanc/ip.git","repoName":"ip","organization":"mingyuanc","domainName":"github"},"branch":"master","displayName":"mingyuanc/ip[master]","outputFolderName":"mingyuanc_ip_master"},{"location":{"location":"https://github.com/chonguschonguschongus/ip.git","repoName":"ip","organization":"chonguschonguschongus","domainName":"github"},"branch":"master","displayName":"chonguschonguschongus/ip[master]","outputFolderName":"chonguschonguschongus_ip_master"},{"location":{"location":"https://github.com/yanghengtang/ip.git","repoName":"ip","organization":"yanghengtang","domainName":"github"},"branch":"master","displayName":"yanghengtang/ip[master]","outputFolderName":"yanghengtang_ip_master"},{"location":{"location":"https://github.com/victorpengmx/ip.git","repoName":"ip","organization":"victorpengmx","domainName":"github"},"branch":"master","displayName":"victorpengmx/ip[master]","outputFolderName":"victorpengmx_ip_master"},{"location":{"location":"https://github.com/kanna-1/ip.git","repoName":"ip","organization":"kanna-1","domainName":"github"},"branch":"master","displayName":"kanna-1/ip[master]","outputFolderName":"kanna-1_ip_master"},{"location":{"location":"https://github.com/ncduy0303/ip.git","repoName":"ip","organization":"ncduy0303","domainName":"github"},"branch":"master","displayName":"ncduy0303/ip[master]","outputFolderName":"ncduy0303_ip_master"},{"location":{"location":"https://github.com/jannnice/ip.git","repoName":"ip","organization":"jannnice","domainName":"github"},"branch":"master","displayName":"jannnice/ip[master]","outputFolderName":"jannnice_ip_master"},{"location":{"location":"https://github.com/itssisi/ip.git","repoName":"ip","organization":"itssisi","domainName":"github"},"branch":"master","displayName":"itssisi/ip[master]","outputFolderName":"itssisi_ip_master"},{"location":{"location":"https://github.com/freddychenyouren2/ip.git","repoName":"ip","organization":"freddychenyouren2","domainName":"github"},"branch":"master","displayName":"freddychenyouren2/ip[master]","outputFolderName":"freddychenyouren2_ip_master"},{"location":{"location":"https://github.com/Vanessamae23/ip.git","repoName":"ip","organization":"Vanessamae23","domainName":"github"},"branch":"master","displayName":"Vanessamae23/ip[master]","outputFolderName":"Vanessamae23_ip_master"},{"location":{"location":"https://github.com/cbj252/ip.git","repoName":"ip","organization":"cbj252","domainName":"github"},"branch":"master","displayName":"cbj252/ip[master]","outputFolderName":"cbj252_ip_master"},{"location":{"location":"https://github.com/freshcabbage123/ip.git","repoName":"ip","organization":"freshcabbage123","domainName":"github"},"branch":"master","displayName":"freshcabbage123/ip[master]","outputFolderName":"freshcabbage123_ip_master"},{"location":{"location":"https://github.com/thienmy0/ip.git","repoName":"ip","organization":"thienmy0","domainName":"github"},"branch":"master","displayName":"thienmy0/ip[master]","outputFolderName":"thienmy0_ip_master"},{"location":{"location":"https://github.com/glenngnng/ip.git","repoName":"ip","organization":"glenngnng","domainName":"github"},"branch":"master","displayName":"glenngnng/ip[master]","outputFolderName":"glenngnng_ip_master"},{"location":{"location":"https://github.com/Darren159/ip.git","repoName":"ip","organization":"Darren159","domainName":"github"},"branch":"master","displayName":"Darren159/ip[master]","outputFolderName":"Darren159_ip_master"},{"location":{"location":"https://github.com/J-hta-n/ip.git","repoName":"ip","organization":"J-hta-n","domainName":"github"},"branch":"master","displayName":"J-hta-n/ip[master]","outputFolderName":"J-hta-n_ip_master"},{"location":{"location":"https://github.com/evanyan13/ip.git","repoName":"ip","organization":"evanyan13","domainName":"github"},"branch":"master","displayName":"evanyan13/ip[master]","outputFolderName":"evanyan13_ip_master"},{"location":{"location":"https://github.com/tanveersingh10/ip.git","repoName":"ip","organization":"tanveersingh10","domainName":"github"},"branch":"master","displayName":"tanveersingh10/ip[master]","outputFolderName":"tanveersingh10_ip_master"},{"location":{"location":"https://github.com/neyapraveen/ip.git","repoName":"ip","organization":"neyapraveen","domainName":"github"},"branch":"master","displayName":"neyapraveen/ip[master]","outputFolderName":"neyapraveen_ip_master"},{"location":{"location":"https://github.com/weeweh/ip.git","repoName":"ip","organization":"weeweh","domainName":"github"},"branch":"master","displayName":"weeweh/ip[master]","outputFolderName":"weeweh_ip_master"},{"location":{"location":"https://github.com/HugeNoob/ip.git","repoName":"ip","organization":"HugeNoob","domainName":"github"},"branch":"master","displayName":"HugeNoob/ip[master]","outputFolderName":"HugeNoob_ip_master"},{"location":{"location":"https://github.com/wasjoe1/ip.git","repoName":"ip","organization":"wasjoe1","domainName":"github"},"branch":"master","displayName":"wasjoe1/ip[master]","outputFolderName":"wasjoe1_ip_master"},{"location":{"location":"https://github.com/s-kybound/ip.git","repoName":"ip","organization":"s-kybound","domainName":"github"},"branch":"master","displayName":"s-kybound/ip[master]","outputFolderName":"s-kybound_ip_master"},{"location":{"location":"https://github.com/Singa-pirate/ip.git","repoName":"ip","organization":"Singa-pirate","domainName":"github"},"branch":"master","displayName":"Singa-pirate/ip[master]","outputFolderName":"Singa-pirate_ip_master"},{"location":{"location":"https://github.com/wanghejin/ip.git","repoName":"ip","organization":"wanghejin","domainName":"github"},"branch":"master","displayName":"wanghejin/ip[master]","outputFolderName":"wanghejin_ip_master"},{"location":{"location":"https://github.com/yarnmengnus/ip.git","repoName":"ip","organization":"yarnmengnus","domainName":"github"},"branch":"master","displayName":"yarnmengnus/ip[master]","outputFolderName":"yarnmengnus_ip_master"},{"location":{"location":"https://github.com/Kurtyjlee/ip.git","repoName":"ip","organization":"Kurtyjlee","domainName":"github"},"branch":"master","displayName":"Kurtyjlee/ip[master]","outputFolderName":"Kurtyjlee_ip_master"},{"location":{"location":"https://github.com/jellywaiyan/ip.git","repoName":"ip","organization":"jellywaiyan","domainName":"github"},"branch":"master","displayName":"jellywaiyan/ip[master]","outputFolderName":"jellywaiyan_ip_master"},{"location":{"location":"https://github.com/ylyma/ip.git","repoName":"ip","organization":"ylyma","domainName":"github"},"branch":"master","displayName":"ylyma/ip[master]","outputFolderName":"ylyma_ip_master"},{"location":{"location":"https://github.com/revdrag/ip.git","repoName":"ip","organization":"revdrag","domainName":"github"},"branch":"master","displayName":"revdrag/ip[master]","outputFolderName":"revdrag_ip_master"},{"location":{"location":"https://github.com/vijay-shankaranand/ip.git","repoName":"ip","organization":"vijay-shankaranand","domainName":"github"},"branch":"master","displayName":"vijay-shankaranand/ip[master]","outputFolderName":"vijay-shankaranand_ip_master"},{"location":{"location":"https://github.com/lerxuann/ip.git","repoName":"ip","organization":"lerxuann","domainName":"github"},"branch":"master","displayName":"lerxuann/ip[master]","outputFolderName":"lerxuann_ip_master"},{"location":{"location":"https://github.com/yuxunn/ip.git","repoName":"ip","organization":"yuxunn","domainName":"github"},"branch":"master","displayName":"yuxunn/ip[master]","outputFolderName":"yuxunn_ip_master"},{"location":{"location":"https://github.com/zannloo/ip.git","repoName":"ip","organization":"zannloo","domainName":"github"},"branch":"master","displayName":"zannloo/ip[master]","outputFolderName":"zannloo_ip_master"},{"location":{"location":"https://github.com/AryanG01/ip.git","repoName":"ip","organization":"AryanG01","domainName":"github"},"branch":"master","displayName":"AryanG01/ip[master]","outputFolderName":"AryanG01_ip_master"},{"location":{"location":"https://github.com/oeggy03/ip.git","repoName":"ip","organization":"oeggy03","domainName":"github"},"branch":"master","displayName":"oeggy03/ip[master]","outputFolderName":"oeggy03_ip_master"},{"location":{"location":"https://github.com/jeffrey-jian/ip.git","repoName":"ip","organization":"jeffrey-jian","domainName":"github"},"branch":"master","displayName":"jeffrey-jian/ip[master]","outputFolderName":"jeffrey-jian_ip_master"},{"location":{"location":"https://github.com/nicholastng010601/ip.git","repoName":"ip","organization":"nicholastng010601","domainName":"github"},"branch":"master","displayName":"nicholastng010601/ip[master]","outputFolderName":"nicholastng010601_ip_master"},{"location":{"location":"https://github.com/Weiennn/ip.git","repoName":"ip","organization":"Weiennn","domainName":"github"},"branch":"master","displayName":"Weiennn/ip[master]","outputFolderName":"Weiennn_ip_master"},{"location":{"location":"https://github.com/tayruxin/ip.git","repoName":"ip","organization":"tayruxin","domainName":"github"},"branch":"master","displayName":"tayruxin/ip[master]","outputFolderName":"tayruxin_ip_master"},{"location":{"location":"https://github.com/xyT-T/ip.git","repoName":"ip","organization":"xyT-T","domainName":"github"},"branch":"master","displayName":"xyT-T/ip[master]","outputFolderName":"xyT-T_ip_master"},{"location":{"location":"https://github.com/lunaroddity/ip.git","repoName":"ip","organization":"lunaroddity","domainName":"github"},"branch":"master","displayName":"lunaroddity/ip[master]","outputFolderName":"lunaroddity_ip_master"},{"location":{"location":"https://github.com/nabonitasen/ip.git","repoName":"ip","organization":"nabonitasen","domainName":"github"},"branch":"master","displayName":"nabonitasen/ip[master]","outputFolderName":"nabonitasen_ip_master"},{"location":{"location":"https://github.com/inezkok/ip.git","repoName":"ip","organization":"inezkok","domainName":"github"},"branch":"master","displayName":"inezkok/ip[master]","outputFolderName":"inezkok_ip_master"},{"location":{"location":"https://github.com/nknguyenhc/ip.git","repoName":"ip","organization":"nknguyenhc","domainName":"github"},"branch":"master","displayName":"nknguyenhc/ip[master]","outputFolderName":"nknguyenhc_ip_master"},{"location":{"location":"https://github.com/keaganpzh/ip.git","repoName":"ip","organization":"keaganpzh","domainName":"github"},"branch":"master","displayName":"keaganpzh/ip[master]","outputFolderName":"keaganpzh_ip_master"},{"location":{"location":"https://github.com/lululwtv/ip.git","repoName":"ip","organization":"lululwtv","domainName":"github"},"branch":"master","displayName":"lululwtv/ip[master]","outputFolderName":"lululwtv_ip_master"},{"location":{"location":"https://github.com/hcs1203/ip.git","repoName":"ip","organization":"hcs1203","domainName":"github"},"branch":"master","displayName":"hcs1203/ip[master]","outputFolderName":"hcs1203_ip_master"},{"location":{"location":"https://github.com/migfoo02/ip.git","repoName":"ip","organization":"migfoo02","domainName":"github"},"branch":"master","displayName":"migfoo02/ip[master]","outputFolderName":"migfoo02_ip_master"},{"location":{"location":"https://github.com/coderhuang559/ip.git","repoName":"ip","organization":"coderhuang559","domainName":"github"},"branch":"master","displayName":"coderhuang559/ip[master]","outputFolderName":"coderhuang559_ip_master"},{"location":{"location":"https://github.com/craigtonlian/ip.git","repoName":"ip","organization":"craigtonlian","domainName":"github"},"branch":"master","displayName":"craigtonlian/ip[master]","outputFolderName":"craigtonlian_ip_master"},{"location":{"location":"https://github.com/adammangzijun/ip.git","repoName":"ip","organization":"adammangzijun","domainName":"github"},"branch":"master","displayName":"adammangzijun/ip[master]","outputFolderName":"adammangzijun_ip_master"},{"location":{"location":"https://github.com/AlainS87/ip.git","repoName":"ip","organization":"AlainS87","domainName":"github"},"branch":"master","displayName":"AlainS87/ip[master]","outputFolderName":"AlainS87_ip_master"},{"location":{"location":"https://github.com/tanyyyming/ip.git","repoName":"ip","organization":"tanyyyming","domainName":"github"},"branch":"master","displayName":"tanyyyming/ip[master]","outputFolderName":"tanyyyming_ip_master"},{"location":{"location":"https://github.com/Saezenn/ip.git","repoName":"ip","organization":"Saezenn","domainName":"github"},"branch":"master","displayName":"Saezenn/ip[master]","outputFolderName":"Saezenn_ip_master"},{"location":{"location":"https://github.com/kayabuttertoastt/ip.git","repoName":"ip","organization":"kayabuttertoastt","domainName":"github"},"branch":"master","displayName":"kayabuttertoastt/ip[master]","outputFolderName":"kayabuttertoastt_ip_master"},{"location":{"location":"https://github.com/limjunxian1/ip.git","repoName":"ip","organization":"limjunxian1","domainName":"github"},"branch":"master","displayName":"limjunxian1/ip[master]","outputFolderName":"limjunxian1_ip_master"},{"location":{"location":"https://github.com/andrechuakj/ip.git","repoName":"ip","organization":"andrechuakj","domainName":"github"},"branch":"master","displayName":"andrechuakj/ip[master]","outputFolderName":"andrechuakj_ip_master"},{"location":{"location":"https://github.com/kwangthiag/ip.git","repoName":"ip","organization":"kwangthiag","domainName":"github"},"branch":"master","displayName":"kwangthiag/ip[master]","outputFolderName":"kwangthiag_ip_master"},{"location":{"location":"https://github.com/ricketytoc/ip.git","repoName":"ip","organization":"ricketytoc","domainName":"github"},"branch":"master","displayName":"ricketytoc/ip[master]","outputFolderName":"ricketytoc_ip_master"},{"location":{"location":"https://github.com/applepiofmyeye/ip.git","repoName":"ip","organization":"applepiofmyeye","domainName":"github"},"branch":"master","displayName":"applepiofmyeye/ip[master]","outputFolderName":"applepiofmyeye_ip_master"},{"location":{"location":"https://github.com/nubnubyas/ip.git","repoName":"ip","organization":"nubnubyas","domainName":"github"},"branch":"master","displayName":"nubnubyas/ip[master]","outputFolderName":"nubnubyas_ip_master"},{"location":{"location":"https://github.com/WeeeHung/ip.git","repoName":"ip","organization":"WeeeHung","domainName":"github"},"branch":"master","displayName":"WeeeHung/ip[master]","outputFolderName":"WeeeHung_ip_master"},{"location":{"location":"https://github.com/Eola-Z/ip.git","repoName":"ip","organization":"Eola-Z","domainName":"github"},"branch":"master","displayName":"Eola-Z/ip[master]","outputFolderName":"Eola-Z_ip_master"},{"location":{"location":"https://github.com/jordankanghm/ip.git","repoName":"ip","organization":"jordankanghm","domainName":"github"},"branch":"master","displayName":"jordankanghm/ip[master]","outputFolderName":"jordankanghm_ip_master"},{"location":{"location":"https://github.com/zacwong2151/ip.git","repoName":"ip","organization":"zacwong2151","domainName":"github"},"branch":"master","displayName":"zacwong2151/ip[master]","outputFolderName":"zacwong2151_ip_master"},{"location":{"location":"https://github.com/m1oojv/ip.git","repoName":"ip","organization":"m1oojv","domainName":"github"},"branch":"master","displayName":"m1oojv/ip[master]","outputFolderName":"m1oojv_ip_master"},{"location":{"location":"https://github.com/JCSnap/ip.git","repoName":"ip","organization":"JCSnap","domainName":"github"},"branch":"master","displayName":"JCSnap/ip[master]","outputFolderName":"JCSnap_ip_master"},{"location":{"location":"https://github.com/Nid21cs/ip.git","repoName":"ip","organization":"Nid21cs","domainName":"github"},"branch":"master","displayName":"Nid21cs/ip[master]","outputFolderName":"Nid21cs_ip_master"},{"location":{"location":"https://github.com/mfjkri/ip.git","repoName":"ip","organization":"mfjkri","domainName":"github"},"branch":"master","displayName":"mfjkri/ip[master]","outputFolderName":"mfjkri_ip_master"},{"location":{"location":"https://github.com/Choonyan02/ip.git","repoName":"ip","organization":"Choonyan02","domainName":"github"},"branch":"master","displayName":"Choonyan02/ip[master]","outputFolderName":"Choonyan02_ip_master"},{"location":{"location":"https://github.com/rayyan35p/ip.git","repoName":"ip","organization":"rayyan35p","domainName":"github"},"branch":"master","displayName":"rayyan35p/ip[master]","outputFolderName":"rayyan35p_ip_master"},{"location":{"location":"https://github.com/dhruvir29/ip.git","repoName":"ip","organization":"dhruvir29","domainName":"github"},"branch":"master","displayName":"dhruvir29/ip[master]","outputFolderName":"dhruvir29_ip_master"},{"location":{"location":"https://github.com/Mohammed-Faizzzz/ip.git","repoName":"ip","organization":"Mohammed-Faizzzz","domainName":"github"},"branch":"master","displayName":"Mohammed-Faizzzz/ip[master]","outputFolderName":"Mohammed-Faizzzz_ip_master"},{"location":{"location":"https://github.com/ruo-x/ip.git","repoName":"ip","organization":"ruo-x","domainName":"github"},"branch":"master","displayName":"ruo-x/ip[master]","outputFolderName":"ruo-x_ip_master"},{"location":{"location":"https://github.com/DonovanJJ/ip.git","repoName":"ip","organization":"DonovanJJ","domainName":"github"},"branch":"master","displayName":"DonovanJJ/ip[master]","outputFolderName":"DonovanJJ_ip_master"},{"location":{"location":"https://github.com/kristayeo/ip.git","repoName":"ip","organization":"kristayeo","domainName":"github"},"branch":"master","displayName":"kristayeo/ip[master]","outputFolderName":"kristayeo_ip_master"},{"location":{"location":"https://github.com/ZD292/ip.git","repoName":"ip","organization":"ZD292","domainName":"github"},"branch":"master","displayName":"ZD292/ip[master]","outputFolderName":"ZD292_ip_master"},{"location":{"location":"https://github.com/jingjie88/ip.git","repoName":"ip","organization":"jingjie88","domainName":"github"},"branch":"master","displayName":"jingjie88/ip[master]","outputFolderName":"jingjie88_ip_master"},{"location":{"location":"https://github.com/iantsaii/ip.git","repoName":"ip","organization":"iantsaii","domainName":"github"},"branch":"master","displayName":"iantsaii/ip[master]","outputFolderName":"iantsaii_ip_master"},{"location":{"location":"https://github.com/jingting1412/ip.git","repoName":"ip","organization":"jingting1412","domainName":"github"},"branch":"master","displayName":"jingting1412/ip[master]","outputFolderName":"jingting1412_ip_master"},{"location":{"location":"https://github.com/wnchan/ip.git","repoName":"ip","organization":"wnchan","domainName":"github"},"branch":"master","displayName":"wnchan/ip[master]","outputFolderName":"wnchan_ip_master"},{"location":{"location":"https://github.com/jack1e0/ip.git","repoName":"ip","organization":"jack1e0","domainName":"github"},"branch":"master","displayName":"jack1e0/ip[master]","outputFolderName":"jack1e0_ip_master"},{"location":{"location":"https://github.com/mingyu-wan/ip.git","repoName":"ip","organization":"mingyu-wan","domainName":"github"},"branch":"master","displayName":"mingyu-wan/ip[master]","outputFolderName":"mingyu-wan_ip_master"},{"location":{"location":"https://github.com/nicolengk/ip.git","repoName":"ip","organization":"nicolengk","domainName":"github"},"branch":"master","displayName":"nicolengk/ip[master]","outputFolderName":"nicolengk_ip_master"},{"location":{"location":"https://github.com/cyaoxuan/ip.git","repoName":"ip","organization":"cyaoxuan","domainName":"github"},"branch":"master","displayName":"cyaoxuan/ip[master]","outputFolderName":"cyaoxuan_ip_master"},{"location":{"location":"https://github.com/sunzihan23/ip.git","repoName":"ip","organization":"sunzihan23","domainName":"github"},"branch":"master","displayName":"sunzihan23/ip[master]","outputFolderName":"sunzihan23_ip_master"},{"location":{"location":"https://github.com/Goh-Li-Ting/ip.git","repoName":"ip","organization":"Goh-Li-Ting","domainName":"github"},"branch":"master","displayName":"Goh-Li-Ting/ip[master]","outputFolderName":"Goh-Li-Ting_ip_master"},{"location":{"location":"https://github.com/wjayee/ip.git","repoName":"ip","organization":"wjayee","domainName":"github"},"branch":"master","displayName":"wjayee/ip[master]","outputFolderName":"wjayee_ip_master"},{"location":{"location":"https://github.com/fuyiqiao/ip.git","repoName":"ip","organization":"fuyiqiao","domainName":"github"},"branch":"master","displayName":"fuyiqiao/ip[master]","outputFolderName":"fuyiqiao_ip_master"},{"location":{"location":"https://github.com/GlendaChong/ip.git","repoName":"ip","organization":"GlendaChong","domainName":"github"},"branch":"master","displayName":"GlendaChong/ip[master]","outputFolderName":"GlendaChong_ip_master"},{"location":{"location":"https://github.com/hyc17003/ip.git","repoName":"ip","organization":"hyc17003","domainName":"github"},"branch":"master","displayName":"hyc17003/ip[master]","outputFolderName":"hyc17003_ip_master"},{"location":{"location":"https://github.com/spatuly/ip.git","repoName":"ip","organization":"spatuly","domainName":"github"},"branch":"master","displayName":"spatuly/ip[master]","outputFolderName":"spatuly_ip_master"},{"location":{"location":"https://github.com/tanteckfang/ip.git","repoName":"ip","organization":"tanteckfang","domainName":"github"},"branch":"master","displayName":"tanteckfang/ip[master]","outputFolderName":"tanteckfang_ip_master"},{"location":{"location":"https://github.com/Clin-lyx/ip.git","repoName":"ip","organization":"Clin-lyx","domainName":"github"},"branch":"master","displayName":"Clin-lyx/ip[master]","outputFolderName":"Clin-lyx_ip_master"},{"location":{"location":"https://github.com/lyuanww/ip.git","repoName":"ip","organization":"lyuanww","domainName":"github"},"branch":"master","displayName":"lyuanww/ip[master]","outputFolderName":"lyuanww_ip_master"},{"location":{"location":"https://github.com/LimJH2002/ip.git","repoName":"ip","organization":"LimJH2002","domainName":"github"},"branch":"master","displayName":"LimJH2002/ip[master]","outputFolderName":"LimJH2002_ip_master"},{"location":{"location":"https://github.com/LWZ19/ip.git","repoName":"ip","organization":"LWZ19","domainName":"github"},"branch":"master","displayName":"LWZ19/ip[master]","outputFolderName":"LWZ19_ip_master"},{"location":{"location":"https://github.com/Gavino3o/ip.git","repoName":"ip","organization":"Gavino3o","domainName":"github"},"branch":"master","displayName":"Gavino3o/ip[master]","outputFolderName":"Gavino3o_ip_master"},{"location":{"location":"https://github.com/suryanshkushwaha/ip.git","repoName":"ip","organization":"suryanshkushwaha","domainName":"github"},"branch":"master","displayName":"suryanshkushwaha/ip[master]","outputFolderName":"suryanshkushwaha_ip_master"},{"location":{"location":"https://github.com/JasonRay168/ip.git","repoName":"ip","organization":"JasonRay168","domainName":"github"},"branch":"master","displayName":"JasonRay168/ip[master]","outputFolderName":"JasonRay168_ip_master"},{"location":{"location":"https://github.com/jovkusuma/ip.git","repoName":"ip","organization":"jovkusuma","domainName":"github"},"branch":"master","displayName":"jovkusuma/ip[master]","outputFolderName":"jovkusuma_ip_master"},{"location":{"location":"https://github.com/Chrainx/ip.git","repoName":"ip","organization":"Chrainx","domainName":"github"},"branch":"master","displayName":"Chrainx/ip[master]","outputFolderName":"Chrainx_ip_master"},{"location":{"location":"https://github.com/Daphne789/ip.git","repoName":"ip","organization":"Daphne789","domainName":"github"},"branch":"master","displayName":"Daphne789/ip[master]","outputFolderName":"Daphne789_ip_master"},{"location":{"location":"https://github.com/ChuanXinNg/ip.git","repoName":"ip","organization":"ChuanXinNg","domainName":"github"},"branch":"master","displayName":"ChuanXinNg/ip[master]","outputFolderName":"ChuanXinNg_ip_master"},{"location":{"location":"https://github.com/LHeng1/ip.git","repoName":"ip","organization":"LHeng1","domainName":"github"},"branch":"master","displayName":"LHeng1/ip[master]","outputFolderName":"LHeng1_ip_master"},{"location":{"location":"https://github.com/wr1159/ip.git","repoName":"ip","organization":"wr1159","domainName":"github"},"branch":"master","displayName":"wr1159/ip[master]","outputFolderName":"wr1159_ip_master"},{"location":{"location":"https://github.com/wjacobw/ip.git","repoName":"ip","organization":"wjacobw","domainName":"github"},"branch":"master","displayName":"wjacobw/ip[master]","outputFolderName":"wjacobw_ip_master"},{"location":{"location":"https://github.com/tiongjjyi/ip.git","repoName":"ip","organization":"tiongjjyi","domainName":"github"},"branch":"master","displayName":"tiongjjyi/ip[master]","outputFolderName":"tiongjjyi_ip_master"},{"location":{"location":"https://github.com/longnguyentan/ip.git","repoName":"ip","organization":"longnguyentan","domainName":"github"},"branch":"master","displayName":"longnguyentan/ip[master]","outputFolderName":"longnguyentan_ip_master"},{"location":{"location":"https://github.com/proto-aiken-13/ip.git","repoName":"ip","organization":"proto-aiken-13","domainName":"github"},"branch":"master","displayName":"proto-aiken-13/ip[master]","outputFolderName":"proto-aiken-13_ip_master"},{"location":{"location":"https://github.com/junnengsoo/ip.git","repoName":"ip","organization":"junnengsoo","domainName":"github"},"branch":"master","displayName":"junnengsoo/ip[master]","outputFolderName":"junnengsoo_ip_master"},{"location":{"location":"https://github.com/yezkez10/ip.git","repoName":"ip","organization":"yezkez10","domainName":"github"},"branch":"master","displayName":"yezkez10/ip[master]","outputFolderName":"yezkez10_ip_master"},{"location":{"location":"https://github.com/jamesebond/ip.git","repoName":"ip","organization":"jamesebond","domainName":"github"},"branch":"master","displayName":"jamesebond/ip[master]","outputFolderName":"jamesebond_ip_master"},{"location":{"location":"https://github.com/alyssaongyx/ip.git","repoName":"ip","organization":"alyssaongyx","domainName":"github"},"branch":"master","displayName":"alyssaongyx/ip[master]","outputFolderName":"alyssaongyx_ip_master"},{"location":{"location":"https://github.com/Carlintyj/ip.git","repoName":"ip","organization":"Carlintyj","domainName":"github"},"branch":"master","displayName":"Carlintyj/ip[master]","outputFolderName":"Carlintyj_ip_master"},{"location":{"location":"https://github.com/ruth-lim/ip.git","repoName":"ip","organization":"ruth-lim","domainName":"github"},"branch":"master","displayName":"ruth-lim/ip[master]","outputFolderName":"ruth-lim_ip_master"},{"location":{"location":"https://github.com/licongshen12/ip.git","repoName":"ip","organization":"licongshen12","domainName":"github"},"branch":"master","displayName":"licongshen12/ip[master]","outputFolderName":"licongshen12_ip_master"},{"location":{"location":"https://github.com/thaddeusong/ip.git","repoName":"ip","organization":"thaddeusong","domainName":"github"},"branch":"master","displayName":"thaddeusong/ip[master]","outputFolderName":"thaddeusong_ip_master"},{"location":{"location":"https://github.com/LordSaumya/ip.git","repoName":"ip","organization":"LordSaumya","domainName":"github"},"branch":"master","displayName":"LordSaumya/ip[master]","outputFolderName":"LordSaumya_ip_master"},{"location":{"location":"https://github.com/Kevin-Liusx/ip.git","repoName":"ip","organization":"Kevin-Liusx","domainName":"github"},"branch":"master","displayName":"Kevin-Liusx/ip[master]","outputFolderName":"Kevin-Liusx_ip_master"},{"location":{"location":"https://github.com/Ken-Lai/ip.git","repoName":"ip","organization":"Ken-Lai","domainName":"github"},"branch":"master","displayName":"Ken-Lai/ip[master]","outputFolderName":"Ken-Lai_ip_master"},{"location":{"location":"https://github.com/KumChaiYin/ip.git","repoName":"ip","organization":"KumChaiYin","domainName":"github"},"branch":"master","displayName":"KumChaiYin/ip[master]","outputFolderName":"KumChaiYin_ip_master"},{"location":{"location":"https://github.com/pzl111/ip.git","repoName":"ip","organization":"pzl111","domainName":"github"},"branch":"master","displayName":"pzl111/ip[master]","outputFolderName":"pzl111_ip_master"},{"location":{"location":"https://github.com/alientian/ip.git","repoName":"ip","organization":"alientian","domainName":"github"},"branch":"master","displayName":"alientian/ip[master]","outputFolderName":"alientian_ip_master"},{"location":{"location":"https://github.com/eyelessrhyme7/ip.git","repoName":"ip","organization":"eyelessrhyme7","domainName":"github"},"branch":"master","displayName":"eyelessrhyme7/ip[master]","outputFolderName":"eyelessrhyme7_ip_master"},{"location":{"location":"https://github.com/AprupKale/ip.git","repoName":"ip","organization":"AprupKale","domainName":"github"},"branch":"master","displayName":"AprupKale/ip[master]","outputFolderName":"AprupKale_ip_master"},{"location":{"location":"https://github.com/kimshitong/ip.git","repoName":"ip","organization":"kimshitong","domainName":"github"},"branch":"master","displayName":"kimshitong/ip[master]","outputFolderName":"kimshitong_ip_master"},{"location":{"location":"https://github.com/Bryan-Goh/ip.git","repoName":"ip","organization":"Bryan-Goh","domainName":"github"},"branch":"master","displayName":"Bryan-Goh/ip[master]","outputFolderName":"Bryan-Goh_ip_master"},{"location":{"location":"https://github.com/tiif/ip.git","repoName":"ip","organization":"tiif","domainName":"github"},"branch":"master","displayName":"tiif/ip[master]","outputFolderName":"tiif_ip_master"},{"location":{"location":"https://github.com/angkyakdifp/ip.git","repoName":"ip","organization":"angkyakdifp","domainName":"github"},"branch":"master","displayName":"angkyakdifp/ip[master]","outputFolderName":"angkyakdifp_ip_master"},{"location":{"location":"https://github.com/Chen-Kuei/ip.git","repoName":"ip","organization":"Chen-Kuei","domainName":"github"},"branch":"master","displayName":"Chen-Kuei/ip[master]","outputFolderName":"Chen-Kuei_ip_master"},{"location":{"location":"https://github.com/SinhaVedant/ip.git","repoName":"ip","organization":"SinhaVedant","domainName":"github"},"branch":"master","displayName":"SinhaVedant/ip[master]","outputFolderName":"SinhaVedant_ip_master"},{"location":{"location":"https://github.com/D-Limiter/ip.git","repoName":"ip","organization":"D-Limiter","domainName":"github"},"branch":"master","displayName":"D-Limiter/ip[master]","outputFolderName":"D-Limiter_ip_master"},{"location":{"location":"https://github.com/larrywang0701/ip.git","repoName":"ip","organization":"larrywang0701","domainName":"github"},"branch":"master","displayName":"larrywang0701/ip[master]","outputFolderName":"larrywang0701_ip_master"},{"location":{"location":"https://github.com/Song-Mengfei/ip.git","repoName":"ip","organization":"Song-Mengfei","domainName":"github"},"branch":"master","displayName":"Song-Mengfei/ip[master]","outputFolderName":"Song-Mengfei_ip_master"},{"location":{"location":"https://github.com/ChangruHenryQian/ip.git","repoName":"ip","organization":"ChangruHenryQian","domainName":"github"},"branch":"master","displayName":"ChangruHenryQian/ip[master]","outputFolderName":"ChangruHenryQian_ip_master"},{"location":{"location":"https://github.com/ketweeen/ip.git","repoName":"ip","organization":"ketweeen","domainName":"github"},"branch":"master","displayName":"ketweeen/ip[master]","outputFolderName":"ketweeen_ip_master"},{"location":{"location":"https://github.com/RSXIX/ip.git","repoName":"ip","organization":"RSXIX","domainName":"github"},"branch":"master","displayName":"RSXIX/ip[master]","outputFolderName":"RSXIX_ip_master"},{"location":{"location":"https://github.com/songgthu/ip.git","repoName":"ip","organization":"songgthu","domainName":"github"},"branch":"master","displayName":"songgthu/ip[master]","outputFolderName":"songgthu_ip_master"},{"location":{"location":"https://github.com/maj0-0/ip.git","repoName":"ip","organization":"maj0-0","domainName":"github"},"branch":"master","displayName":"maj0-0/ip[master]","outputFolderName":"maj0-0_ip_master"},{"location":{"location":"https://github.com/tiongMax/ip.git","repoName":"ip","organization":"tiongMax","domainName":"github"},"branch":"master","displayName":"tiongMax/ip[master]","outputFolderName":"tiongMax_ip_master"},{"location":{"location":"https://github.com/A1WAYSD/ip.git","repoName":"ip","organization":"A1WAYSD","domainName":"github"},"branch":"master","displayName":"A1WAYSD/ip[master]","outputFolderName":"A1WAYSD_ip_master"},{"location":{"location":"https://github.com/hjoneweek/ip.git","repoName":"ip","organization":"hjoneweek","domainName":"github"},"branch":"master","displayName":"hjoneweek/ip[master]","outputFolderName":"hjoneweek_ip_master"},{"location":{"location":"https://github.com/itsNatTan/ip.git","repoName":"ip","organization":"itsNatTan","domainName":"github"},"branch":"master","displayName":"itsNatTan/ip[master]","outputFolderName":"itsNatTan_ip_master"},{"location":{"location":"https://github.com/AustinHuang1203/ip.git","repoName":"ip","organization":"AustinHuang1203","domainName":"github"},"branch":"master","displayName":"AustinHuang1203/ip[master]","outputFolderName":"AustinHuang1203_ip_master"},{"location":{"location":"https://github.com/WangCheng0116/ip.git","repoName":"ip","organization":"WangCheng0116","domainName":"github"},"branch":"master","displayName":"WangCheng0116/ip[master]","outputFolderName":"WangCheng0116_ip_master"},{"location":{"location":"https://github.com/Tim-Siu/ip.git","repoName":"ip","organization":"Tim-Siu","domainName":"github"},"branch":"master","displayName":"Tim-Siu/ip[master]","outputFolderName":"Tim-Siu_ip_master"},{"location":{"location":"https://github.com/newway1814/ip.git","repoName":"ip","organization":"newway1814","domainName":"github"},"branch":"master","displayName":"newway1814/ip[master]","outputFolderName":"newway1814_ip_master"},{"location":{"location":"https://github.com/li-rongzhi/ip.git","repoName":"ip","organization":"li-rongzhi","domainName":"github"},"branch":"master","displayName":"li-rongzhi/ip[master]","outputFolderName":"li-rongzhi_ip_master"},{"location":{"location":"https://github.com/adhigop13/ip.git","repoName":"ip","organization":"adhigop13","domainName":"github"},"branch":"master","displayName":"adhigop13/ip[master]","outputFolderName":"adhigop13_ip_master"},{"location":{"location":"https://github.com/MadLamprey/ip.git","repoName":"ip","organization":"MadLamprey","domainName":"github"},"branch":"master","displayName":"MadLamprey/ip[master]","outputFolderName":"MadLamprey_ip_master"}],"errorSet":[{"repoName":"Propene-Dan/ip[master]","errorMessage":"Failed to clone from https://github.com/Propene-Dan/ip.git"},{"repoName":"Cloud7050/ip[master]","errorMessage":"Failed to clone from https://github.com/Cloud7050/ip.git"},{"repoName":"papataco14/ip[master]","errorMessage":"Failed to clone from https://github.com/papataco14/ip.git"},{"repoName":"felibunnyy/ip[master]","errorMessage":"Failed to clone from https://github.com/felibunnyy/ip.git"},{"repoName":"starrylight99/ip[master]","errorMessage":"Failed to clone from https://github.com/starrylight99/ip.git"}],"sinceDate":"2023-08-18","untilDate":"2023-08-28","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}}} diff --git a/supermii2_ip_master/authorship.json b/supermii2_ip_master/authorship.json index 3ca50fbf..17cb622d 100644 --- a/supermii2_ip_master/authorship.json +++ b/supermii2_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.function.Consumer;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * that can be issued to the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":"public abstract class Command implements Consumer\u003cParser\u003e {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" Rock client;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" Command(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" this.client \u003d client;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /** Code to be run when command is called. */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" public abstract void accept(Parser input);","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":15}},{"path":"src/main/java/CommandBye.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * used to terminate program.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"public class CommandBye extends Command{","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" CommandBye(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * Terminates chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * @param input Unused.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" this.client.terminate();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":19}},{"path":"src/main/java/CommandReset.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"public class CommandReset extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" CommandReset(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * Terminates chatbot.","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @param input Unused.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" this.client.taskList.reset();","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" this.client.storage.saveSaveFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Task List reset.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":15}},{"path":"src/main/java/CommandTaskCreate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * Representation of possible types ","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * of tasks that can be created.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":"enum TaskTypes {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" TODO,","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" DEADLINE,","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" EVENT,","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" * Representation of command used","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * to create a new task.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":"public class CommandTaskCreate extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" TaskTypes taskType;","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" * Creates a Command object of","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" * the specified task type.","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" * @param taskType Type of task that the created command should create.","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" CommandTaskCreate(Rock client, TaskTypes taskType) {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" this.taskType \u003d taskType;","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" * Creates task and adds it to the TaskList.","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" * @param input Contains data for the Task to be created.","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when data is missing or invalid data is given.","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) throws IllegalArgumentException {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" String taskName \u003d input.getDefaultString();","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" if (taskName \u003d\u003d \"\") throw new IllegalArgumentException(\"Name of task cannot be empty!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" switch (this.taskType) {","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" case TODO:","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" this.client.taskList.addTask(new TaskTodo(taskName)); ","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Todo Task added!\"); ","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" case DEADLINE:","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" String deadlineTime \u003d input.getTaggedInput(\"by\");","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" this.client.taskList.addTask(new TaskDeadline(taskName, deadlineTime));","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Deadline Task added!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" } catch (NoSuchElementException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"No deadline given. Indicate deadline with tag: /by\");","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":" case EVENT:","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"supermii2"},"content":" String startTime \u003d input.getTaggedInput(\"from\");","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"supermii2"},"content":" String endTime \u003d input.getTaggedInput(\"to\");","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"supermii2"},"content":" this.client.taskList.addTask(new TaskEvent(taskName, startTime, endTime));","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Event Task added!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"supermii2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"supermii2"},"content":" } catch (NoSuchElementException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"No start or end time given. Indicate with /from and /to.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":63}},{"path":"src/main/java/CommandTaskDelete.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * to delete a task from the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"public class CommandTaskDelete extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" CommandTaskDelete(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * Removes task from task list","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * @param input Contains data with index of removed task.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when invalid index is given.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" String inputString \u003d input.getDefaultString();","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" TaskList taskList \u003d this.client.taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" int taskIdx \u003d Integer.parseInt(inputString);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" if (taskIdx \u003c 1 || taskIdx \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" Task removedTask \u003d taskList.removeTask(taskIdx - 1);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Task successfully removed!\\n\" + removedTask);","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":32}},{"path":"src/main/java/CommandTaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * to list all tasks in list.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"public class CommandTaskList extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" CommandTaskList(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * Removes task from task list.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * @param input Unused","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when invalid index is given.","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(this.client.taskList.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":20}},{"path":"src/main/java/CommandTaskListByDate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"public class CommandTaskListByDate extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" CommandTaskListByDate(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) throws IllegalArgumentException {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" LocalDate filterDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" filterDate \u003d LocalDate.parse(input.getDefaultString());","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Illegal Date\");","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" List\u003cTask\u003e taskList \u003d this.client.taskList.toList();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" if (taskList.get(i).getDate().equals(filterDate)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" response +\u003d \"\\n\" + taskList.get(i).toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" if (response \u003d\u003d \"\") {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"No tasks found!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(response);","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":30}},{"path":"src/main/java/CommandTaskMark.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * to mark or unmark a task","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * as completed.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":"public class CommandTaskMark extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" /** Represents whether this command marks or unmarks a task. */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" boolean isMarking;","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" CommandTaskMark(Rock client, boolean isMarking) {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.isMarking \u003d isMarking;","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * Marks or unmarks task from list","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * @param input Contains index of task to be","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when invalid index is given.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) throws IllegalArgumentException, StorageException {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" String inputString \u003d input.getDefaultString();","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" TaskList taskList \u003d this.client.taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" int taskIdx \u003d Integer.parseInt(inputString);","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" if (taskIdx \u003c 1 || taskIdx \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" } else if (taskList.getTask(taskIdx - 1).isCompleted()){","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" if (this.isMarking) {","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Task already marked!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Task already unmarked!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" taskList.getTask(taskIdx - 1).setCompleted(this.isMarking);","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" this.client.storage.saveSaveFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" if (this.isMarking) {","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" response +\u003d \"Task marked successfully: \\n\";","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" response +\u003d \"Task unmarked successfully: \\n\";","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" response +\u003d taskList.getTask(taskIdx - 1).toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(response);","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":51}},{"path":"src/main/java/Commands.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.Dictionary;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.util.Hashtable;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"public class Commands {","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" Dictionary\u003cString, Command\u003e commandList;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" public Commands(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" this.commandList \u003d new Hashtable\u003cString, Command\u003e() {{","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" put(\"bye\", new CommandBye(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" put(\"list\", new CommandTaskList(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" put(\"mark\", new CommandTaskMark(client, true));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" put(\"unmark\", new CommandTaskMark(client, false));","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" put(\"todo\", new CommandTaskCreate(client, TaskTypes.TODO));","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" put(\"deadline\" ,new CommandTaskCreate(client, TaskTypes.DEADLINE));","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" put(\"event\", new CommandTaskCreate(client, TaskTypes.EVENT));","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" put(\"delete\", new CommandTaskDelete(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" put(\"listbydate\", new CommandTaskListByDate(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" }};","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" /** Lookup table of possible commands that can be used. */","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" * Method used to get the appropriate command from a keyword","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" * @param keyword Keyword used to identify each command","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" * @return Command corresponding to the keyword","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when an unknown command is given.","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" public Command getCommand(String keyword) throws IllegalArgumentException{","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" Command command \u003d this.commandList.get(keyword);","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" if (command \u003d\u003d null) throw new IllegalArgumentException(\"Unknown command!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" return command; ","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":32}},{"path":"src/main/java/Invoker.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.function.Consumer;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * Used to handle input given by chatbot","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * and call the appropriate commands with","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * the parsed data","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class Invoker {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" Commands commands;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" Invoker(Commands commands) {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" this.commands \u003d commands;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * Helper function used to obtain the rest of a sentence sans keyword.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param sentence String to be trimmed.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * @return Same string without keyword, empty string if there is no other characters","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * besides keyword","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" private static String removeFirstWord(String sentence) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" String[] words \u003d sentence.split(\" \", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" return words.length \u003e 1 ? words[1] : \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" * Used to handle a given user input and call the corresponding method.","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" * @param inputString User\u0027s input.","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public void handle(String inputString) throws RockError{","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" Parser input \u003d new Parser(removeFirstWord(inputString));","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" String keyword \u003d inputString.split(\" \")[0];","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" Consumer\u003cParser\u003e calledConsumer \u003d this.commands.getCommand(keyword);","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" calledConsumer.accept(input);","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" throw new RockError(e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":38}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.Dictionary;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.util.Hashtable;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * Used parse the additional data","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * given in a command based on tags.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"public class Parser {","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" /**Untagged input*/","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" private String defaultInput;","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /**Dictionary of tagged inputs*/","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" private Dictionary\u003cString, String\u003e taggedInputs;","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * Creates a parsed representation","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * of the input string given by","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * the user\u0027s input.","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" * @param input","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" Parser(String input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" taggedInputs \u003d new Hashtable\u003c\u003e();","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" String[] phrases \u003d input.split(\"/\");","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" this.defaultInput \u003d phrases[0];","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" for (int i \u003d 1; i \u003c phrases.length; i++) {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" String[] words \u003d phrases[i].split(\" \", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" taggedInputs.put(words[0], words[1]);","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" * Get the untagged input","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" * @return Untagged input of parsed message","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" public String getDefaultString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" return defaultInput;","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" * Get the tagged input with the","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" * given tag","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" * @param tag Tag used to find tagged input.","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" * @return Tagged input of the given tag","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" * @throws NoSuchElementException Tag not found in the inputs.","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" public String getTaggedInput(String tag) throws NoSuchElementException {","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" String result \u003d taggedInputs.get(tag);","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" if (result \u003d\u003d null) throw new NoSuchElementException(\"Invalid Tag!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" return result;","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":50}},{"path":"src/main/java/Rock.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-21"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * Rock is the name of and the main program used","lastModifiedDate":"2023-08-21"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * to run the chatbot for ip.","lastModifiedDate":"2023-08-21"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-21"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-21"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class Rock {","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" public static Path FILE_PATH \u003d Paths.get(\"data\", \"tasks.ser\");","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" public TaskList taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" public Storage storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" public Ui ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" private Commands commands;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" private boolean isTerminated \u003d false;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" public Rock(Path path) {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" this.taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" this.commands \u003d new Commands(this);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" this.ui.startup();","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" public void run() {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" Invoker invoker \u003d new Invoker(this.commands);","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" while (!isTerminated) {","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" String userInput \u003d this.ui.getInput();","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" invoker.handle(userInput);","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" } catch (RockError e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" this.ui.respond(e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" public void terminate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" // Sets necessary fields to closed.","lastModifiedDate":"2023-08-21"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" this.isTerminated \u003d true;","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" ui.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-21"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" new Rock(FILE_PATH).run();","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"supermii2":45}},{"path":"src/main/java/RockException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"public class RockException extends Exception {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" RockException(String message) {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" super(message);","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":5}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.io.File;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.io.FileInputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"import java.io.FileOutputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":"import java.io.ObjectInputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"import java.io.ObjectOutputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class Storage {","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" Path savePath;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" TaskList taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" Storage(Path path, TaskList taskList) {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.savePath \u003d path;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" createSaveFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" loadSaveFile(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" public void createSaveFile() throws StorageException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" File saveFile \u003d this.savePath.toFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" saveFile.createNewFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Unable to create save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" public void saveSaveFile() throws StorageException{","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" File saveFile \u003d savePath.toFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" FileOutputStream fileOutputStream \u003d new FileOutputStream(saveFile);","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" ObjectOutputStream objectOutputStream \u003d new ObjectOutputStream(fileOutputStream);","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" objectOutputStream.writeObject(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" objectOutputStream.flush();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" objectOutputStream.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Unable to find save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" public void loadSaveFile(TaskList list) throws StorageException {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" File saveFile \u003d savePath.toFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" FileInputStream fileInputStream \u003d new FileInputStream(saveFile);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" ObjectInputStream objectInputStream \u003d new ObjectInputStream(fileInputStream);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" Object saveObj \u003d objectInputStream.readObject();","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" if (saveObj instanceof TaskList) {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" taskList \u003d (TaskList) saveObj;","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" objectInputStream.close(); ","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" objectInputStream.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Save File corrupted. Please delete save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Failed to load save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"supermii2"},"content":" } catch (ClassNotFoundException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Class not found! Rock is likely corrupted. Please reinstall!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":57}},{"path":"src/main/java/StorageException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"public class StorageException extends RuntimeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" StorageException(String message) {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" super(message);","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":5}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.io.Serializable;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * Representation of a task","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public abstract class Task implements Serializable{","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" /** Name of task */","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" protected String taskName;","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /** Whether the task has been completed */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" private boolean completed;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" /** One letter abbreviation for the task. */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" protected String oneLetterAbbrev;","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * Creates a task with the given name","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" Task(String taskName) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" this.taskName \u003d taskName;","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" completed \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" * Checks if a task is completed","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" * @return State of completeness of task","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public boolean isCompleted() {","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" return this.completed;","lastModifiedDate":"2023-08-21"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" * Sets the completion state of task","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" * to the given boolean","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" * @param completed State to change completion state","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" * of task to.","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" public void setCompleted(boolean completed) {","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" this.completed \u003d completed;","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" public abstract LocalDate getDate();","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" * String representation of Task","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" * @return String representation of task","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" return this.isCompleted() ","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" ? \"[\" + this.oneLetterAbbrev + \"][X] \" + this.taskName ","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" : \"[\" + this.oneLetterAbbrev + \"][ ] \" + this.taskName;","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"supermii2":51}},{"path":"src/main/java/TaskDeadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * Representation of a deadline task","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"public class TaskDeadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" /** Deadline time of the task */","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" private LocalDate deadlineTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * Creates a deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param deadlineTime Deadline","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" TaskDeadline(String taskName, String deadlineTime) throws IllegalArgumentException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" super(taskName);","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" super.oneLetterAbbrev \u003d \"D\";","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" this.deadlineTime \u003d LocalDate.parse(deadlineTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Illegal Date/Time\");","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" return this.deadlineTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" * String representation of Deadline","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" * @return String representation of deadline","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" return super.toString() + ","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" \" (by: \" + this.deadlineTime + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":40}},{"path":"src/main/java/TaskEvent.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * Representation of a deadline task","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"public class TaskEvent extends Task{","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" /**Start and end times of events */","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" LocalDate startTime, endTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * Creates a deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param startTime Start time of task","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * @param endTime End time of task","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" TaskEvent(String taskName, String startTime, String endTime) throws IllegalArgumentException {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" super(taskName);","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" super.oneLetterAbbrev \u003d \"E\";","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" this.startTime \u003d LocalDate.parse(startTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" this.endTime \u003d LocalDate.parse(endTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" if (startTime.compareTo(endTime) \u003e 0) throw new IllegalArgumentException(\"Start Date after End Date\");","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Illegal Date/Time\");","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" return this.startTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" * String representation of Event","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" * @return String representation of Event","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" return super.toString() + ","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" \" (from: \" + this.startTime + \" to: \" + this.endTime + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":43}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.io.Serializable;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"public class TaskList implements Serializable{","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" ArrayList\u003cTask\u003e items;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" TaskList() {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" this.items \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" public void addTask(Task t) {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.items.add(t);","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" public Task getTask(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" return this.items.get(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" return null;","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" public Task removeTask(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" return this.items.remove(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" return null;","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" public int size() {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" return this.items.size();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" public void reset() {","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" this.items \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" public Task[] toArray() {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" Task[] lst \u003d new Task[this.size()];","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" return items.toArray(lst);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" public List\u003cTask\u003e toList() {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" return items;","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":" if (items.size() \u003d\u003d 0) {","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"supermii2"},"content":" response \u003d \"No tasks found!\";","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"supermii2"},"content":" int counter \u003d 1;","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"supermii2"},"content":" response \u003d \"Task List: \";","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"supermii2"},"content":" for (Task task:this.toArray()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"supermii2"},"content":" response +\u003d \"\\n\" + Integer.toString(counter) + \". \" + task.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"supermii2"},"content":" counter++;","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"supermii2"},"content":" return response;","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":63}},{"path":"src/main/java/TaskTodo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * Representation of a ToDo task","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class TaskTodo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" return null;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * Creates a todo task.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" TaskTodo(String taskName) {","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" super(taskName);","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" super.oneLetterAbbrev \u003d \"T\";","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":22}},{"path":"src/main/java/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"public class Ui {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" Scanner scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" public static String LINE_BREAK \u003d \"____________________________________________________________\";","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" private static String LOGO \u003d \"\\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" \"__________ __ \\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" \"\\\\______ \\\\ ____ ____ | | __ _____ _____ ____ \\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" \" | _// _ \\\\_/ ___\\\\| |/ // \\\\\\\\__ \\\\ / \\\\ \\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" \" | | ( \u003c_\u003e ) \\\\___| \u003c| Y Y \\\\/ __ \\\\| | \\\\\\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" \" |____|_ /\\\\____/ \\\\___ \u003e__|_ \\\\__|_| (____ /___| /\\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" \" \\\\/ \\\\/ \\\\/ \\\\/ \\\\/ \\\\/ \\r\\n\";","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" public Ui() {","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" this.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" public void say(String words) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" System.out.println(\"\\t\" + words);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" public void respond(String words) {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" String response \u003d words + \"\\n\" + LINE_BREAK;","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" say(response.replaceAll(\"\\n\", \"\\n\\t\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" public void startup() {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" say(LOGO);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" respond(\"Startup successful!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public void close() {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" scanner.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" respond(\"Client closed\");","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" public String getInput() {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" String input \u003d this.scanner.nextLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" return input;","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":36}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":"java -classpath ..\\bin Rock \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":"pause","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":3,"-":20}}] +[{"path":"src/main/java/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.function.Consumer;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * that can be issued to the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":"public abstract class Command implements Consumer\u003cParser\u003e {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" Rock client;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" Command(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" this.client \u003d client;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /** Code to be run when command is called. */","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" public abstract void accept(Parser input);","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":15}},{"path":"src/main/java/CommandBye.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * used to terminate program.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"public class CommandBye extends Command{","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" CommandBye(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * Terminates chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * @param input Unused.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" this.client.terminate();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":19}},{"path":"src/main/java/CommandReset.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"public class CommandReset extends Command{","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" CommandReset(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * Terminates chatbot.","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @param input Unused.","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" this.client.taskList.reset();","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" this.client.storage.saveSaveFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Task List reset.\");","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":15}},{"path":"src/main/java/CommandTaskCreate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * Representation of possible types ","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * of tasks that can be created.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":"enum TaskTypes {","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" TODO,","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" DEADLINE,","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" EVENT,","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" * Representation of command used","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * to create a new task.","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":"public class CommandTaskCreate extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" TaskTypes taskType;","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" * Creates a Command object of","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" * the specified task type.","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" * @param taskType Type of task that the created command should create.","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" CommandTaskCreate(Rock client, TaskTypes taskType) {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" this.taskType \u003d taskType;","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" * Creates task and adds it to the TaskList.","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" * @param input Contains data for the Task to be created.","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when data is missing or invalid data is given.","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) throws IllegalArgumentException {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" String taskName \u003d input.getDefaultString();","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" if (taskName \u003d\u003d \"\") throw new IllegalArgumentException(\"Name of task cannot be empty!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" switch (this.taskType) {","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" case TODO:","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" this.client.taskList.addTask(new TaskTodo(taskName)); ","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Todo Task added!\"); ","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" case DEADLINE:","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" String deadlineTime \u003d input.getTaggedInput(\"by\");","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" this.client.taskList.addTask(new TaskDeadline(taskName, deadlineTime));","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Deadline Task added!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" } catch (NoSuchElementException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"No deadline given. Indicate deadline with tag: /by\");","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":" case EVENT:","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"supermii2"},"content":" String startTime \u003d input.getTaggedInput(\"from\");","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"supermii2"},"content":" String endTime \u003d input.getTaggedInput(\"to\");","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"supermii2"},"content":" this.client.taskList.addTask(new TaskEvent(taskName, startTime, endTime));","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Event Task added!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"supermii2"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"supermii2"},"content":" } catch (NoSuchElementException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":59,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"No start or end time given. Indicate with /from and /to.\");","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":61,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":63}},{"path":"src/main/java/CommandTaskDelete.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * to delete a task from the task list.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"public class CommandTaskDelete extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" CommandTaskDelete(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * Removes task from task list","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * @param input Contains data with index of removed task.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when invalid index is given.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" String inputString \u003d input.getDefaultString();","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" TaskList taskList \u003d this.client.taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" int taskIdx \u003d Integer.parseInt(inputString);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" if (taskIdx \u003c 1 || taskIdx \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" Task removedTask \u003d taskList.removeTask(taskIdx - 1);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"Task successfully removed!\\n\" + removedTask);","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":32}},{"path":"src/main/java/CommandTaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * to list all tasks in list.","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"public class CommandTaskList extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" CommandTaskList(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" * Removes task from task list.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * @param input Unused","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when invalid index is given.","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(this.client.taskList.toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":20}},{"path":"src/main/java/CommandTaskListByDate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"public class CommandTaskListByDate extends Command {","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" CommandTaskListByDate(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) throws IllegalArgumentException {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" LocalDate filterDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" filterDate \u003d LocalDate.parse(input.getDefaultString());","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Illegal Date\");","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" List\u003cTask\u003e taskList \u003d this.client.taskList.toList();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" if (taskList.get(i).getDate().equals(filterDate)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" response +\u003d \"\\n\" + taskList.get(i).toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" if (response \u003d\u003d \"\") {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(\"No tasks found!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(response);","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":30}},{"path":"src/main/java/CommandTaskMark.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" * Representation of a command","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * to mark or unmark a task","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * as completed.","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":"public class CommandTaskMark extends Command {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" /** Represents whether this command marks or unmarks a task. */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" boolean isMarking;","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" CommandTaskMark(Rock client, boolean isMarking) {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" super(client);","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.isMarking \u003d isMarking;","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * Marks or unmarks task from list","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * @param input Contains index of task to be","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when invalid index is given.","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" public void accept(Parser input) throws IllegalArgumentException, StorageException {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" String inputString \u003d input.getDefaultString();","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" TaskList taskList \u003d this.client.taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" int taskIdx \u003d Integer.parseInt(inputString);","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" if (taskIdx \u003c 1 || taskIdx \u003e taskList.size()) {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" } else if (taskList.getTask(taskIdx - 1).isCompleted()){","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" if (this.isMarking) {","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Task already marked!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Task already unmarked!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" taskList.getTask(taskIdx - 1).setCompleted(this.isMarking);","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" this.client.storage.saveSaveFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" if (this.isMarking) {","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" response +\u003d \"Task marked successfully: \\n\";","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" response +\u003d \"Task unmarked successfully: \\n\";","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" response +\u003d taskList.getTask(taskIdx - 1).toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" this.client.ui.respond(response);","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Invalid index given!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":51}},{"path":"src/main/java/Commands.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.Dictionary;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.util.Hashtable;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"public class Commands {","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" Dictionary\u003cString, Command\u003e commandList;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" public Commands(Rock client) {","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" this.commandList \u003d new Hashtable\u003cString, Command\u003e() {{","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" put(\"bye\", new CommandBye(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" put(\"list\", new CommandTaskList(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" put(\"mark\", new CommandTaskMark(client, true));","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" put(\"unmark\", new CommandTaskMark(client, false));","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" put(\"todo\", new CommandTaskCreate(client, TaskTypes.TODO));","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" put(\"deadline\" ,new CommandTaskCreate(client, TaskTypes.DEADLINE));","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" put(\"event\", new CommandTaskCreate(client, TaskTypes.EVENT));","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" put(\"delete\", new CommandTaskDelete(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" put(\"listbydate\", new CommandTaskListByDate(client));","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" }};","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" /** Lookup table of possible commands that can be used. */","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" * Method used to get the appropriate command from a keyword","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" * @param keyword Keyword used to identify each command","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" * @return Command corresponding to the keyword","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" * @throws IllegalArgumentException Thrown when an unknown command is given.","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" public Command getCommand(String keyword) throws IllegalArgumentException{","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" Command command \u003d this.commandList.get(keyword);","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" if (command \u003d\u003d null) throw new IllegalArgumentException(\"Unknown command!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" return command; ","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":32}},{"path":"src/main/java/Invoker.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.function.Consumer;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" * Used to handle input given by chatbot","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * and call the appropriate commands with","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * the parsed data","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class Invoker {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" Commands commands;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" Invoker(Commands commands) {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" this.commands \u003d commands;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * Helper function used to obtain the rest of a sentence sans keyword.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param sentence String to be trimmed.","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * @return Same string without keyword, empty string if there is no other characters","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * besides keyword","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" private static String removeFirstWord(String sentence) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" String[] words \u003d sentence.split(\" \", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" return words.length \u003e 1 ? words[1] : \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" * Used to handle a given user input and call the corresponding method.","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" * @param inputString User\u0027s input.","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public void handle(String inputString) throws RockException{","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" Parser input \u003d new Parser(removeFirstWord(inputString));","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" String keyword \u003d inputString.split(\" \")[0];","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" Consumer\u003cParser\u003e calledConsumer \u003d this.commands.getCommand(keyword);","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" calledConsumer.accept(input);","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" throw new RockException(e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":38}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.Dictionary;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.util.Hashtable;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * Used parse the additional data","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * given in a command based on tags.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"public class Parser {","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" /**Untagged input*/","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" private String defaultInput;","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /**Dictionary of tagged inputs*/","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" private Dictionary\u003cString, String\u003e taggedInputs;","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * Creates a parsed representation","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * of the input string given by","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * the user\u0027s input.","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" * @param input","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" Parser(String input) {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" taggedInputs \u003d new Hashtable\u003c\u003e();","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" String[] phrases \u003d input.split(\"/\");","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" this.defaultInput \u003d phrases[0];","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" for (int i \u003d 1; i \u003c phrases.length; i++) {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" String[] words \u003d phrases[i].split(\" \", 2);","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" taggedInputs.put(words[0], words[1]);","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" * Get the untagged input","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" * @return Untagged input of parsed message","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" public String getDefaultString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" return defaultInput;","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" * Get the tagged input with the","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" * given tag","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" * @param tag Tag used to find tagged input.","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" * @return Tagged input of the given tag","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" * @throws NoSuchElementException Tag not found in the inputs.","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" public String getTaggedInput(String tag) throws NoSuchElementException {","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" String result \u003d taggedInputs.get(tag);","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" if (result \u003d\u003d null) throw new NoSuchElementException(\"Invalid Tag!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" return result;","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":50}},{"path":"src/main/java/Rock.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-21"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * Rock is the name of and the main program used","lastModifiedDate":"2023-08-21"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * to run the chatbot for ip.","lastModifiedDate":"2023-08-21"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-21"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-21"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class Rock {","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" public static Path FILE_PATH \u003d Paths.get(\"data\", \"tasks.ser\");","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" public TaskList taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" public Storage storage;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" public Ui ui;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" private Commands commands;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" private boolean isTerminated \u003d false;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" public Rock(Path path) {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" this.taskList \u003d new TaskList();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" this.commands \u003d new Commands(this);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" this.ui.startup();","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" this.storage \u003d new Storage(path, this.taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" public void run() {","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" Invoker invoker \u003d new Invoker(this.commands);","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" while (!isTerminated) {","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" String userInput \u003d this.ui.getInput();","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" invoker.handle(userInput);","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" } catch (RockException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" this.ui.respond(e.getMessage());","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" public void terminate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" // Sets necessary fields to closed.","lastModifiedDate":"2023-08-21"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" this.isTerminated \u003d true;","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" ui.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" new Rock(FILE_PATH).run();","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"supermii2":47}},{"path":"src/main/java/RockException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"public class RockException extends Exception {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" RockException(String message) {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" super(message);","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":5}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.io.File;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.io.FileInputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"import java.io.FileOutputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":"import java.io.ObjectInputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"import java.io.ObjectOutputStream;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class Storage {","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" Path savePath;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" TaskList taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" Storage(Path path, TaskList taskList) {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.savePath \u003d path;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" createSaveFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" loadSaveFile(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" public void createSaveFile() throws StorageException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" File saveFile \u003d this.savePath.toFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" saveFile.createNewFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Unable to create save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" public void saveSaveFile() throws StorageException{","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" File saveFile \u003d savePath.toFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" FileOutputStream fileOutputStream \u003d new FileOutputStream(saveFile);","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" ObjectOutputStream objectOutputStream \u003d new ObjectOutputStream(fileOutputStream);","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" objectOutputStream.writeObject(taskList);","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" objectOutputStream.flush();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" objectOutputStream.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Unable to find save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" public void loadSaveFile(TaskList list) throws StorageException {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" File saveFile \u003d savePath.toFile();","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" FileInputStream fileInputStream \u003d new FileInputStream(saveFile);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" ObjectInputStream objectInputStream \u003d new ObjectInputStream(fileInputStream);","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" Object saveObj \u003d objectInputStream.readObject();","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" if (saveObj instanceof TaskList) {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" taskList \u003d (TaskList) saveObj;","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" objectInputStream.close(); ","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" objectInputStream.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Save File corrupted. Please delete save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Failed to load save file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"supermii2"},"content":" } catch (ClassNotFoundException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"supermii2"},"content":" throw new StorageException(\"WARNING: Class not found! Rock is likely corrupted. Please reinstall!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":57}},{"path":"src/main/java/StorageException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"public class StorageException extends RuntimeException {","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":" StorageException(String message) {","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":" super(message);","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":5}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.io.Serializable;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * Representation of a task","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public abstract class Task implements Serializable{","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" /** Name of task */","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" protected String taskName;","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" /** Whether the task has been completed */","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" private boolean completed;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" /** One letter abbreviation for the task. */","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" protected String oneLetterAbbrev;","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * Creates a task with the given name","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" Task(String taskName) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" this.taskName \u003d taskName;","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" completed \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" * Checks if a task is completed","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" * @return State of completeness of task","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public boolean isCompleted() {","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" return this.completed;","lastModifiedDate":"2023-08-21"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" * Sets the completion state of task","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" * to the given boolean","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" * @param completed State to change completion state","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" * of task to.","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" public void setCompleted(boolean completed) {","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" this.completed \u003d completed;","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" public abstract LocalDate getDate();","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":" * String representation of Task","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" * @return String representation of task","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-21"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":" return this.isCompleted() ","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" ? \"[\" + this.oneLetterAbbrev + \"][X] \" + this.taskName ","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" : \"[\" + this.oneLetterAbbrev + \"][ ] \" + this.taskName;","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"supermii2":51}},{"path":"src/main/java/TaskDeadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * Representation of a deadline task","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"public class TaskDeadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" /** Deadline time of the task */","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" private LocalDate deadlineTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * Creates a deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param deadlineTime Deadline","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" TaskDeadline(String taskName, String deadlineTime) throws IllegalArgumentException {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" super(taskName);","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" super.oneLetterAbbrev \u003d \"D\";","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" this.deadlineTime \u003d LocalDate.parse(deadlineTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Illegal Date/Time\");","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" return this.deadlineTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" * String representation of Deadline","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" * @return String representation of deadline","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" return super.toString() + ","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" \" (by: \" + this.deadlineTime + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":40}},{"path":"src/main/java/TaskEvent.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * Representation of a deadline task","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":"public class TaskEvent extends Task{","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" /**Start and end times of events */","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" LocalDate startTime, endTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" * Creates a deadline task.","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param startTime Start time of task","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" * @param endTime End time of task","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" TaskEvent(String taskName, String startTime, String endTime) throws IllegalArgumentException {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" super(taskName);","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" super.oneLetterAbbrev \u003d \"E\";","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" this.startTime \u003d LocalDate.parse(startTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" this.endTime \u003d LocalDate.parse(endTime);","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" if (startTime.compareTo(endTime) \u003e 0) throw new IllegalArgumentException(\"Start Date after End Date\");","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" throw new IllegalArgumentException(\"Illegal Date/Time\");","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" return this.startTime;","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" * String representation of Event","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" * @return String representation of Event","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" return super.toString() + ","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" \" (from: \" + this.startTime + \" to: \" + this.endTime + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" } ","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":43}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.io.Serializable;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":"public class TaskList implements Serializable{","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" ArrayList\u003cTask\u003e items;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" TaskList() {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" this.items \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" public void addTask(Task t) {","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" this.items.add(t);","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" public Task getTask(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" return this.items.get(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" return null;","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" public Task removeTask(int index) {","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" return this.items.remove(index);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" return null;","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" public int size() {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" return this.items.size();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" public void reset() {","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":" this.items \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"supermii2"},"content":" public Task[] toArray() {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"supermii2"},"content":" Task[] lst \u003d new Task[this.size()];","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"supermii2"},"content":" return items.toArray(lst);","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"supermii2"},"content":" public List\u003cTask\u003e toList() {","lastModifiedDate":"2023-08-28"},{"lineNumber":45,"author":{"gitId":"supermii2"},"content":" return items;","lastModifiedDate":"2023-08-28"},{"lineNumber":46,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"supermii2"},"content":" public String toString() {","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"supermii2"},"content":" String response \u003d \"\";","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"supermii2"},"content":" if (items.size() \u003d\u003d 0) {","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"supermii2"},"content":" response \u003d \"No tasks found!\";","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"supermii2"},"content":" } else {","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"supermii2"},"content":" int counter \u003d 1;","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"supermii2"},"content":" response \u003d \"Task List: \";","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"supermii2"},"content":" for (Task task:this.toArray()) {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"supermii2"},"content":" response +\u003d \"\\n\" + Integer.toString(counter) + \". \" + task.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"supermii2"},"content":" counter++;","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"supermii2"},"content":" return response;","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":63,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":63}},{"path":"src/main/java/TaskTodo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"/**","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" * Representation of a ToDo task","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" * recorded by the chatbot.","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" * ","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" * @author Alvis Ng (supermii2)","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":"public class TaskTodo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" return null;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" /**","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" * Creates a todo task.","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":" * @param taskName Name of task","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" */","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" TaskTodo(String taskName) {","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" super(taskName);","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" super.oneLetterAbbrev \u003d \"T\";","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":22}},{"path":"src/main/java/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"supermii2"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":2,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"supermii2"},"content":"public class Ui {","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"supermii2"},"content":" Scanner scanner;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"supermii2"},"content":" public static String LINE_BREAK \u003d \"____________________________________________________________\";","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"supermii2"},"content":" private static String LOGO \u003d \"\\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"supermii2"},"content":" \"__________ __ \\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"supermii2"},"content":" \"\\\\______ \\\\ ____ ____ | | __ _____ _____ ____ \\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"supermii2"},"content":" \" | _// _ \\\\_/ ___\\\\| |/ // \\\\\\\\__ \\\\ / \\\\ \\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"supermii2"},"content":" \" | | ( \u003c_\u003e ) \\\\___| \u003c| Y Y \\\\/ __ \\\\| | \\\\\\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"supermii2"},"content":" \" |____|_ /\\\\____/ \\\\___ \u003e__|_ \\\\__|_| (____ /___| /\\r\\n\" +","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"supermii2"},"content":" \" \\\\/ \\\\/ \\\\/ \\\\/ \\\\/ \\\\/ \\r\\n\";","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"supermii2"},"content":" public Ui() {","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"supermii2"},"content":" this.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"supermii2"},"content":" public void say(String words) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" System.out.println(\"\\t\" + words);","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"supermii2"},"content":" public void respond(String words) {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"supermii2"},"content":" String response \u003d words + \"\\n\" + LINE_BREAK;","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":" say(response.replaceAll(\"\\n\", \"\\n\\t\"));","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"supermii2"},"content":" public void startup() {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"supermii2"},"content":" say(LOGO);","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"supermii2"},"content":" respond(\"Startup successful!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"supermii2"},"content":" public void close() {","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"supermii2"},"content":" scanner.close();","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"supermii2"},"content":" respond(\"Client closed\");","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"supermii2"},"content":" public String getInput() {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"supermii2"},"content":" String input \u003d this.scanner.nextLine();","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"supermii2"},"content":" return input;","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"supermii2"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"supermii2"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"supermii2":36}},{"path":"text-ui-test/runtest.bat","fileType":"bat","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@ECHO OFF","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":"REM create bin directory if it doesn\u0027t exist","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":"if not exist ..\\bin mkdir ..\\bin","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"REM delete output from previous run","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"if exist ACTUAL.TXT del ACTUAL.TXT","lastModifiedDate":"2020-08-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"REM compile the code into the bin folder","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"javac -cp ..\\src\\main\\java -Xlint:none -d ..\\bin ..\\src\\main\\java\\*.java","lastModifiedDate":"2020-08-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":"java -classpath ..\\bin Rock \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"supermii2"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"supermii2"},"content":"pause","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"supermii2":3,"-":20}}] diff --git a/supermii2_ip_master/commits.json b/supermii2_ip_master/commits.json index 661b1ee1..5cc8c6e5 100644 --- a/supermii2_ip_master/commits.json +++ b/supermii2_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"supermii2":[{"date":"2023-08-21","commitResults":[{"hash":"c932e3f8a9eaf9477d59d203a78ceec73df45ed0","isMergeCommit":false,"messageTitle":"Completed Level 0. Renamed chatbot and created skeletal version.","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":10}}},{"hash":"404a6409308f2ad73d65bf2a869b2aea19a2f35b","isMergeCommit":false,"messageTitle":"Level 1. Added bye command to terminate programme, and echo functionality to repeat any unknown command.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":124,"deletions":10}}},{"hash":"8438935200edbaa62aeb32566969520268a5672d","isMergeCommit":false,"messageTitle":"Level 2. Added ability to add tasks to task list and print all added tasks.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":3}}},{"hash":"f93f7e6e36f181bfbcf96dd5f02990ada163c4c3","isMergeCommit":false,"messageTitle":"Level 3. Added the ability to mark and unmark tasks as completed.","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":66,"deletions":6}}}]},{"date":"2023-08-22","commitResults":[{"hash":"55eef06796bca687420c696badf3083985c47542","isMergeCommit":false,"messageTitle":"Level 4. Added deadline, event, and todo functionality. Removed ability to add task besides the 3 mentioned. Removed echo function.","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":89,"deletions":33}}},{"hash":"77225ef156284aede8af3433eb2fcdcd6b323663","isMergeCommit":false,"messageTitle":"Removed TODO tag as the task was already completed.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"ff786e957c7e7993969e4ad1c3998bd9e7067e8c","isMergeCommit":false,"messageTitle":"A-TextUiTesting. Added exception for parser and set up automated testing.","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"java":{"insertions":5,"deletions":2}}},{"hash":"aaf3408b7dfc4fa72db4d32946c622ed74258ac5","isMergeCommit":false,"messageTitle":"Level-5. Handle Errors.","messageBody":"Added error handling for bad inputs for Task Creation and Task Marking.\nSeparated commands from Invoker for ease of reading and employed more OOP concepts.\n","tags":["Level-5","A-Exceptions"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":4},"java":{"insertions":187,"deletions":149},"bat":{"insertions":3,"deletions":1}}},{"hash":"928574f84121063c1c1cc94eaa04ac212bd889a8","isMergeCommit":false,"messageTitle":"Level-6. Added delete function and completed javadocs for all classes.","messageBody":"","tags":["Level-6","A-Enums","A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":234,"deletions":47}}}]},{"date":"2023-08-27","commitResults":[{"hash":"306c5581b9fdc0697d7d5f1650fe6aa8919b2d59","isMergeCommit":false,"messageTitle":"Add javadocs and fix formatting","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":0}}}]},{"date":"2023-08-28","commitResults":[{"hash":"87af88b865f67109f4d01301ae004211383fdbcc","isMergeCommit":false,"messageTitle":"Level-7. Add save and load functionality","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":123,"deletions":22}}},{"hash":"8bcb44593816a7de7e8a8a626735d6c52f605751","isMergeCommit":false,"messageTitle":"Add javadocs for SaveCorruptionException","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"c70cbeb83a87b23e97b7a57a048f3d651d6ab603","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a60958efc0beb5df63e3529f91d2160d11cbdc4f","isMergeCommit":false,"messageTitle":"Change Deadline and Event to handle LocalDate","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":7}}},{"hash":"a2cfcb59e9c73a2c0ae986681331b52e01557512","isMergeCommit":false,"messageTitle":"Add filtered list search","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":12}}},{"hash":"021f3ed8a2fb0d586a2d82b56a37eb393c8bbce9","isMergeCommit":false,"messageTitle":"Change gitignore permissions","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":10}}},{"hash":"d256b2b65c2040716e310207749ceac2106da41d","isMergeCommit":false,"messageTitle":"Make Rock non-static, ui and add reset tasklist","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":198,"deletions":161}}},{"hash":"9326c7160d865ee714fa64d607ac1e36e2ec06d2","isMergeCommit":false,"messageTitle":"Fix RockException","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}}]}]},"authorFileTypeContributionMap":{"supermii2":{"java":732,"md":0,"fxml":0,"sh":0,"bat":3,"gradle":0,"txt":0}},"authorContributionVariance":{"supermii2":73025.89},"authorDisplayNameMap":{"supermii2":"CS2103T-F12-3 ALVI..S NG"}} +{"authorDailyContributionsMap":{"supermii2":[{"date":"2023-08-21","commitResults":[{"hash":"c932e3f8a9eaf9477d59d203a78ceec73df45ed0","isMergeCommit":false,"messageTitle":"Completed Level 0. Renamed chatbot and created skeletal version.","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":10}}},{"hash":"404a6409308f2ad73d65bf2a869b2aea19a2f35b","isMergeCommit":false,"messageTitle":"Level 1. Added bye command to terminate programme, and echo functionality to repeat any unknown command.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":124,"deletions":10}}},{"hash":"8438935200edbaa62aeb32566969520268a5672d","isMergeCommit":false,"messageTitle":"Level 2. Added ability to add tasks to task list and print all added tasks.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":3}}},{"hash":"f93f7e6e36f181bfbcf96dd5f02990ada163c4c3","isMergeCommit":false,"messageTitle":"Level 3. Added the ability to mark and unmark tasks as completed.","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":66,"deletions":6}}}]},{"date":"2023-08-22","commitResults":[{"hash":"55eef06796bca687420c696badf3083985c47542","isMergeCommit":false,"messageTitle":"Level 4. Added deadline, event, and todo functionality. Removed ability to add task besides the 3 mentioned. Removed echo function.","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":89,"deletions":33}}},{"hash":"77225ef156284aede8af3433eb2fcdcd6b323663","isMergeCommit":false,"messageTitle":"Removed TODO tag as the task was already completed.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"ff786e957c7e7993969e4ad1c3998bd9e7067e8c","isMergeCommit":false,"messageTitle":"A-TextUiTesting. Added exception for parser and set up automated testing.","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"java":{"insertions":5,"deletions":2}}},{"hash":"aaf3408b7dfc4fa72db4d32946c622ed74258ac5","isMergeCommit":false,"messageTitle":"Level-5. Handle Errors.","messageBody":"Added error handling for bad inputs for Task Creation and Task Marking.\nSeparated commands from Invoker for ease of reading and employed more OOP concepts.\n","tags":["Level-5","A-Exceptions"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":4},"java":{"insertions":187,"deletions":149},"bat":{"insertions":3,"deletions":1}}},{"hash":"928574f84121063c1c1cc94eaa04ac212bd889a8","isMergeCommit":false,"messageTitle":"Level-6. Added delete function and completed javadocs for all classes.","messageBody":"","tags":["Level-6","A-Enums","A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":234,"deletions":47}}}]},{"date":"2023-08-27","commitResults":[{"hash":"306c5581b9fdc0697d7d5f1650fe6aa8919b2d59","isMergeCommit":false,"messageTitle":"Add javadocs and fix formatting","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":0}}}]},{"date":"2023-08-28","commitResults":[{"hash":"87af88b865f67109f4d01301ae004211383fdbcc","isMergeCommit":false,"messageTitle":"Level-7. Add save and load functionality","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":123,"deletions":22}}},{"hash":"8bcb44593816a7de7e8a8a626735d6c52f605751","isMergeCommit":false,"messageTitle":"Add javadocs for SaveCorruptionException","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"c70cbeb83a87b23e97b7a57a048f3d651d6ab603","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a60958efc0beb5df63e3529f91d2160d11cbdc4f","isMergeCommit":false,"messageTitle":"Change Deadline and Event to handle LocalDate","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":7}}},{"hash":"a2cfcb59e9c73a2c0ae986681331b52e01557512","isMergeCommit":false,"messageTitle":"Add filtered list search","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":12}}},{"hash":"021f3ed8a2fb0d586a2d82b56a37eb393c8bbce9","isMergeCommit":false,"messageTitle":"Change gitignore permissions","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":10}}},{"hash":"d256b2b65c2040716e310207749ceac2106da41d","isMergeCommit":false,"messageTitle":"Make Rock non-static, ui and add reset tasklist","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":198,"deletions":161}}},{"hash":"9326c7160d865ee714fa64d607ac1e36e2ec06d2","isMergeCommit":false,"messageTitle":"Fix RockException","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"8c6f2f05447846a1db6335d5c91f47242f0fa63f","isMergeCommit":false,"messageTitle":"Fix Exception name","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":3}}}]}]},"authorFileTypeContributionMap":{"supermii2":{"java":734,"md":0,"fxml":0,"sh":0,"bat":3,"gradle":0,"txt":0}},"authorContributionVariance":{"supermii2":73740.88},"authorDisplayNameMap":{"supermii2":"CS2103T-F12-3 ALVI..S NG"}}