diff --git a/SungMatt_ip_master/authorship.json b/SungMatt_ip_master/authorship.json index cdf10f1a..15f1e439 100644 --- a/SungMatt_ip_master/authorship.json +++ b/SungMatt_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/MattBot/MattBot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import MattBot.Parser;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import MattBot.Storage;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"import MattBot.TaskList;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"import java.util.List;","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":"public class MattBot {","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" private static final String NAME \u003d \"MattBot\";","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" private static Storage mattmory;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" private static TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" private static DateTimeFormatter dTFormat \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" // Load save file","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" // List\u003cTask\u003e taskList \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" mattmory \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" tasks \u003d mattmory.load();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" System.out.println(e);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" /*String logo \u003d \" ____ _ \\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" + \"| _ \\\\ _ _| | _____ \\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Hello from\\n\" + logo);*/","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Hello! I\u0027m \" + NAME);","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" String userInput;","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" label:","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" while (true) {","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" // Take user input in, and process user input","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" userInput \u003d sc.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" String command \u003d userInput.split(\" \",2)[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" switch (command) {","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" case \"bye\":","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Bye, Hope to see you soon!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" break label;","lastModifiedDate":"2023-09-03"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" case \"list\":","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(i + 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" System.out.println(String.format(\"%d. %s\", i + 1, t));","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":71,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"SungMatt"},"content":" case \"mark\": {","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":74,"author":{"gitId":"SungMatt"},"content":" int taskId \u003d Integer.parseInt(userInput.split(\" \", 2)[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SungMatt"},"content":" tasks.markTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Great job! You have completed the task \" + t.showName());","lastModifiedDate":"2023-08-23"},{"lineNumber":79,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":81,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"SungMatt"},"content":" case \"unmark\": {","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":84,"author":{"gitId":"SungMatt"},"content":" int taskId \u003d Integer.parseInt(userInput.split(\" \", 2)[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"SungMatt"},"content":" tasks.unmarkTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oh no, you have uncompleted \" + t.showName());","lastModifiedDate":"2023-08-23"},{"lineNumber":89,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":90,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":91,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":92,"author":{"gitId":"SungMatt"},"content":" default: {","lastModifiedDate":"2023-09-03"},{"lineNumber":93,"author":{"gitId":"SungMatt"},"content":" int len \u003d userInput.split(\" \", 2).length;","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"SungMatt"},"content":" if (len \u003c\u003d 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oh no, your input is bad.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"SungMatt"},"content":" System.out.println(command + \" requires an argument.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"SungMatt"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":102,"author":{"gitId":"SungMatt"},"content":" String arguments \u003d userInput.split(\" \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"SungMatt"},"content":" Task t;","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"SungMatt"},"content":" if (command.equals(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"SungMatt"},"content":" t \u003d new Todo(arguments);","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"SungMatt"},"content":" tasks.addTask(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I\u0027ve added this to your tasks: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":109,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"SungMatt"},"content":" } else if (command.equals(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"SungMatt"},"content":" String name \u003d arguments.split(\" /by \", 2)[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"SungMatt"},"content":" String dueDate \u003d arguments.split(\" /by \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":114,"author":{"gitId":"SungMatt"},"content":" LocalDateTime dtDueDate \u003d LocalDateTime.parse(dueDate, dTFormat);","lastModifiedDate":"2023-09-03"},{"lineNumber":115,"author":{"gitId":"SungMatt"},"content":" t \u003d new Deadline(name, dtDueDate);","lastModifiedDate":"2023-09-03"},{"lineNumber":116,"author":{"gitId":"SungMatt"},"content":" tasks.addTask(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I\u0027ve added this to your tasks: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"SungMatt"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":121,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Your date is invalid. It should be in the form YYYYMMDDTHHMM. An example is 20231231T2359.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":122,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":123,"author":{"gitId":"SungMatt"},"content":" } else if (command.equals(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"SungMatt"},"content":" String name \u003d arguments.split(\" /from \", 2)[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"SungMatt"},"content":" String dates \u003d arguments.split(\" /from \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"SungMatt"},"content":" String startDate \u003d dates.split(\" /to \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"SungMatt"},"content":" String endDate \u003d dates.split(\" /to \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":129,"author":{"gitId":"SungMatt"},"content":" LocalDateTime dtStartDate \u003d LocalDateTime.parse(startDate, dTFormat);","lastModifiedDate":"2023-09-03"},{"lineNumber":130,"author":{"gitId":"SungMatt"},"content":" LocalDateTime dtEndDate \u003d LocalDateTime.parse(endDate, dTFormat);","lastModifiedDate":"2023-09-03"},{"lineNumber":131,"author":{"gitId":"SungMatt"},"content":" t \u003d new Event(name, dtStartDate, dtEndDate);","lastModifiedDate":"2023-09-03"},{"lineNumber":132,"author":{"gitId":"SungMatt"},"content":" tasks.addTask(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I\u0027ve added this to your tasks: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"SungMatt"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":137,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Your date is invalid. It should be in the form YYYYMMDDTHHMM. An example is 20231231T2359.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":138,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":139,"author":{"gitId":"SungMatt"},"content":" } else if (command.equals(\"delete\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"SungMatt"},"content":" if (tasks.size() \u003d\u003d 0 || tasks.size() \u003c Integer.parseInt(arguments)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oops, you\u0027re deleting a task that doesn\u0027t exist.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":142,"author":{"gitId":"SungMatt"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"SungMatt"},"content":" t \u003d tasks.getTask(Integer.parseInt(arguments));","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I have removed this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":146,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":147,"author":{"gitId":"SungMatt"},"content":" tasks.removeTask(Integer.parseInt(arguments));","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"SungMatt"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":150,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I didn\u0027t quite understand your input.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"SungMatt"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":153,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":154,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":155,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":156,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":157,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":158,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":159,"author":{"gitId":"SungMatt"},"content":" public static void printTop() {","lastModifiedDate":"2023-08-23"},{"lineNumber":160,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":161,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":162,"author":{"gitId":"SungMatt"},"content":" public static void printBottom() {","lastModifiedDate":"2023-08-23"},{"lineNumber":163,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":164,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":165,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SungMatt":165}},{"path":"src/main/java/MattBot/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import MattBot.Storage;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" public final static DateTimeFormatter DTFORMAT \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" public Parser() {}","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" /*public static void parseInput(String input) {","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" String[] details \u003d input.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" String command \u003d details[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" } except (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Ahh! You need to give an input!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" switch (command) {","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" case \"list\":","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(i + 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" System.out.println(String.format(\"%d. %s\", i + 1, t));","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" }*/","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" public static Task parseFile(String saveString) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" String[] details \u003d saveString.split(\" \\\\| \");","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" Task newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" switch (details[0]) {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" case \"T\":","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Todo(details[2], getBoolean(details[1]));","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" case \"D\":","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Deadline(details[2], getBoolean(details[1]),","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" LocalDateTime.parse(details[3], DTFORMAT));","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" case \"E\":","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Event(details[2], getBoolean(details[1]),","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" LocalDateTime.parse(details[3],DTFORMAT) , LocalDateTime.parse(details[4],DTFORMAT));","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" // Should throw an error here, maybe a can\u0027t read error?","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Todo(\"Oops, no details!\", true);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Yikes, your savefile had some issues!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Todo(\"Oops, no details!\", true);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" * Gets a boolean value from a String-represented 1 or 0.","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" * @params String Done state as represented by 1 or 0","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" * @return True or False","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" public static boolean getBoolean(String value)","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" return (value.equals(\"1\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SungMatt":71}},{"path":"src/main/java/MattBot/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import MattBot.Parser;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":"import java.io.File; // Import the File class","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":"import java.io.IOException; // Import the IOException class to handle errors","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":"import java.io.FileNotFoundException; // Import this class to handle errors","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"import java.io.FileWriter; // Import the FileWriter class","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" protected TaskList data;","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" private BufferedReader myReader;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" private Path dataPath;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" private static final String SAVE_NAME \u003d \"mattbot.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" private static final String SAVE_FOLDER \u003d \"data/\";","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" public Storage() throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" dataPath \u003d Paths.get(SAVE_FOLDER + SAVE_NAME);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" if (!Files.exists(dataPath)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" Files.createDirectory(Paths.get(SAVE_FOLDER));","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" Files.createFile(dataPath);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" myReader \u003d Files.newBufferedReader(dataPath);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" // myReader.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" * Loads list of tasks from the earlier specified filepath.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" * @return List of tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" public TaskList load() throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" while (true) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" String nextLine \u003d myReader.readLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" if (nextLine \u003d\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" taskList.addTask(Parser.parseFile(nextLine));","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" return taskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" public TaskList getTaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" return data;","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" public void writeBack(TaskList tL) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" // Format should be in","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" // [Type] | [isDone] | Name | startDate | endDate","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":" data \u003d tL;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" ArrayList\u003cTask\u003e aLTask \u003d tL.getTasks();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" ArrayList\u003cString\u003e toWrite \u003d new ArrayList\u003cString\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" for (int i \u003d 0; i \u003c aLTask.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":" Task t \u003d aLTask.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SungMatt"},"content":" toWrite.add(t.toFile());","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"SungMatt"},"content":" Files.delete(dataPath);","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SungMatt"},"content":" Files.write(dataPath, toWrite);","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SungMatt"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oh no, I\u0027ve failed to write the save file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SungMatt"},"content":" System.out.println(e);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SungMatt":84}},{"path":"src/main/java/MattBot/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" protected ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" public TaskList() {","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" * Adds new task to list.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" * @params t Task to be added.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" public void addTask(Task t) {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" * Removes task specified by index from list.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" * @params idx 1-based index of task to be removed.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" public void removeTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" tasks.remove(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" * Marks task as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" * @params idx 1-based index of task to be marked as complete.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" public void markTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.get(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" t.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" * Marks task as not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" * @params idx 1-based index of task to be marked as incomplete.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" public void unmarkTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.get(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" t.markAsNotDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" * Returns size of task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" public int size() {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" return tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" * Returns entire task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" * @return List of tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" public ArrayList\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" return tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" public Task getTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" return tasks.get(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SungMatt":70}},{"path":"src/main/java/MattBot/commands.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"public enum commands {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":" TODO,","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":" DEADLINE,","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" EVENT,","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":" LIST,","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":" BYE,","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":" MARK,","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" UNMARK","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":10}},{"path":"src/main/java/MattBot/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import MattBot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" protected LocalDateTime date;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" public static final DateTimeFormatter DTFORMAT \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" public Deadline(String name, LocalDateTime date) {","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" super(name, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" this.date \u003d date;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" public Deadline(String name, boolean isDone, LocalDateTime date ) {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" super(name, isDone);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" this.date \u003d date;","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" public LocalDateTime getDate() {","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" return this.date;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" * Returns a friendly version of the date.","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" * @returns Date in form of May 12 2023 20:00","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" public String dateToString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" return this.date.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy HH\u0027:\u0027mm\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" * Identifies itself as a Deadline.","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" * @returns Character to identify the type of Task.","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" public String identifier() {","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" return \"D\";","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" * Returns String form for storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" * @returns String for storage format.","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" public String toFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" return identifier() + \" | \" + showStatusAsFile() + \" | \" + showName() + \" | \" + getDate().format(DTFORMAT);","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" return String.format(\"[%s] [%s] %s (by: %s)\", this.identifier(), this.showStatus(), this.showName(), dateToString());","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":56}},{"path":"src/main/java/MattBot/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" protected LocalDateTime startDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" protected LocalDateTime endDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" public static final DateTimeFormatter DTFORMAT \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" public Event(String name, LocalDateTime startDate, LocalDateTime endDate) {","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" super(name, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" this.startDate \u003d startDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" this.endDate \u003d endDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" public Event(String name, boolean isDone, LocalDateTime startDate, LocalDateTime endDate) {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" super(name, isDone);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" this.startDate \u003d startDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" this.endDate \u003d endDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" public LocalDateTime getStartDate() {","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" return this.startDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" public LocalDateTime getEndDate() {","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" return this.endDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" public String identifier() {","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" return \"E\";","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" * Returns a friendly version of the start date.","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" * @returns Start Date in form of May 12 2023 20:00","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" public String startDateToString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" return this.startDate.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy HH\u0027:\u0027mm\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" * Returns a friendly version of the end date.","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" * @returns End Date in form of May 12 2023 20:00","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" public String endDateToString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" return this.endDate.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy HH\u0027:\u0027mm\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" * Returns String form for storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" * @returns String for storage format.","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" public String toFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" return identifier() + \" | \" + showStatusAsFile() + \" | \" + showName() + \" | \" + getStartDate().format(DTFORMAT)","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" + \" | \" + getEndDate().format(DTFORMAT);","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" return String.format(\"[%s] [%s] %s (from: %s to: %s)\", this.identifier(), this.showStatus(), this.showName(),","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" this.startDateToString(), this.endDateToString());","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":64}},{"path":"src/main/java/MattBot/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":" protected String name;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":" public Task(String name, boolean isDone) {","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":" this.name \u003d name;","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" this.isDone \u003d isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" public void markAsNotDone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" public String showStatus() {","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" return (isDone ? \"X\" : \" \");","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" public String showName() {","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" return this.name;","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" public abstract String identifier();","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" public abstract String toFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" public String showStatusAsFile() { return (isDone ? \"1\" : \"0\"); }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" return String.format(\"[%s] [%s] %s\", this.identifier(), this.showStatus(), this.showName());","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"SungMatt":35}},{"path":"src/main/java/MattBot/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":" public Todo(String name) {","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":" super(name, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":" public Todo(String name, boolean isDone) {","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":" super(name, isDone);","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" public String identifier() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" return \"T\";","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" * Returns String form for storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" * @returns String for storage format.","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" public String toFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" return identifier() + \" | \" + showStatusAsFile() + \" | \" + showName();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":22}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"todo Eat supper","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"deadline CS2103 Homework /by Tomorrow","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"event CS1010S Tutorial /from 1pm tomorrow /to 2pm tomorrow","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":5}},{"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":"SungMatt"},"content":"java -classpath ../bin MattBot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-24"},{"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":{"SungMatt":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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"checkstyle {","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" toolVersion \u003d \"10.11.2\"","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":18,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":19,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" mainClass.set(\"mattbot.MattBot\")","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" archiveBaseName \u003d \"mattbot\"","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":47,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"SungMatt":7,"-":40}},{"path":"src/main/java/mattbot/MattBot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import mattbot.Parser;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"import mattbot.Storage;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"import mattbot.TaskList;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":"import java.util.List;","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":"public class MattBot {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" private static final String NAME \u003d \"MattBot\";","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" private static Storage mattmory;","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" private static TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" private static final DateTimeFormatter PRINT_DTF \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" // Load save file","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" // List\u003cTask\u003e taskList \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" mattmory \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" tasks \u003d mattmory.load();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" System.out.println(e);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" /*String logo \u003d \" ____ _ \\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" + \"| _ \\\\ _ _| | _____ \\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-22"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Hello from\\n\" + logo);*/","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Hello! I\u0027m \" + NAME);","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" String userInput;","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" label:","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" while (true) {","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" // Take user input in, and process user input","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" userInput \u003d sc.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" String command \u003d userInput.split(\" \",2)[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" switch (command) {","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" case \"bye\":","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Bye, Hope to see you soon!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" break label;","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" case \"list\":","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(i + 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" System.out.println(String.format(\"%d. %s\", i + 1, t));","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":71,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":72,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"SungMatt"},"content":" case \"mark\": {","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":75,"author":{"gitId":"SungMatt"},"content":" int taskId \u003d Integer.parseInt(userInput.split(\" \", 2)[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SungMatt"},"content":" tasks.markTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Great job! You have completed the task \" + t.showName());","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":81,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"SungMatt"},"content":" case \"unmark\": {","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":85,"author":{"gitId":"SungMatt"},"content":" int taskId \u003d Integer.parseInt(userInput.split(\" \", 2)[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"SungMatt"},"content":" tasks.unmarkTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(taskId);","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oh no, you have uncompleted \" + t.showName());","lastModifiedDate":"2023-08-23"},{"lineNumber":90,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":91,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":92,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":93,"author":{"gitId":"SungMatt"},"content":" default: {","lastModifiedDate":"2023-09-03"},{"lineNumber":94,"author":{"gitId":"SungMatt"},"content":" int len \u003d userInput.split(\" \", 2).length;","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"SungMatt"},"content":" if (len \u003c\u003d 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oh no, your input is bad.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"SungMatt"},"content":" System.out.println(command + \" requires an argument.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"SungMatt"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"SungMatt"},"content":" printTop();","lastModifiedDate":"2023-08-23"},{"lineNumber":103,"author":{"gitId":"SungMatt"},"content":" String arguments \u003d userInput.split(\" \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"SungMatt"},"content":" Task t;","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"SungMatt"},"content":" if (command.equals(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"SungMatt"},"content":" t \u003d new Todo(arguments);","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"SungMatt"},"content":" tasks.addTask(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I\u0027ve added this to your tasks: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"SungMatt"},"content":" } else if (command.equals(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"SungMatt"},"content":" String name \u003d arguments.split(\" /by \", 2)[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"SungMatt"},"content":" String dueDate \u003d arguments.split(\" /by \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":115,"author":{"gitId":"SungMatt"},"content":" LocalDateTime dtDueDate \u003d LocalDateTime.parse(dueDate, PRINT_DTF);","lastModifiedDate":"2023-09-03"},{"lineNumber":116,"author":{"gitId":"SungMatt"},"content":" t \u003d new Deadline(name, dtDueDate);","lastModifiedDate":"2023-09-03"},{"lineNumber":117,"author":{"gitId":"SungMatt"},"content":" tasks.addTask(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I\u0027ve added this to your tasks: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"SungMatt"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":122,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Your date is invalid. It should be in the form YYYYMMDDTHHMM. An example is 20231231T2359.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":123,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":124,"author":{"gitId":"SungMatt"},"content":" } else if (command.equals(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"SungMatt"},"content":" String name \u003d arguments.split(\" /from \", 2)[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"SungMatt"},"content":" String dates \u003d arguments.split(\" /from \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"SungMatt"},"content":" String startDate \u003d dates.split(\" /to \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"SungMatt"},"content":" String endDate \u003d dates.split(\" /to \", 2)[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":130,"author":{"gitId":"SungMatt"},"content":" LocalDateTime dtStartDate \u003d LocalDateTime.parse(startDate, PRINT_DTF);","lastModifiedDate":"2023-09-03"},{"lineNumber":131,"author":{"gitId":"SungMatt"},"content":" LocalDateTime dtEndDate \u003d LocalDateTime.parse(endDate, PRINT_DTF);","lastModifiedDate":"2023-09-03"},{"lineNumber":132,"author":{"gitId":"SungMatt"},"content":" t \u003d new Event(name, dtStartDate, dtEndDate);","lastModifiedDate":"2023-09-03"},{"lineNumber":133,"author":{"gitId":"SungMatt"},"content":" tasks.addTask(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I\u0027ve added this to your tasks: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":137,"author":{"gitId":"SungMatt"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":138,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Your date is invalid. It should be in the form YYYYMMDDTHHMM. An example is 20231231T2359.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":139,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":140,"author":{"gitId":"SungMatt"},"content":" } else if (command.equals(\"delete\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"SungMatt"},"content":" if (tasks.size() \u003d\u003d 0 || tasks.size() \u003c Integer.parseInt(arguments)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oops, you\u0027re deleting a task that doesn\u0027t exist.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"SungMatt"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"SungMatt"},"content":" t \u003d tasks.getTask(Integer.parseInt(arguments));","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I have removed this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":147,"author":{"gitId":"SungMatt"},"content":" System.out.println(t);","lastModifiedDate":"2023-08-24"},{"lineNumber":148,"author":{"gitId":"SungMatt"},"content":" tasks.removeTask(Integer.parseInt(arguments));","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"SungMatt"},"content":" mattmory.writeBack(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"SungMatt"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"I didn\u0027t quite understand your input.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"SungMatt"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":153,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":154,"author":{"gitId":"SungMatt"},"content":" printBottom();","lastModifiedDate":"2023-08-23"},{"lineNumber":155,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":156,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":157,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":158,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":159,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":160,"author":{"gitId":"SungMatt"},"content":" public static void printTop() {","lastModifiedDate":"2023-08-23"},{"lineNumber":161,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":162,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":163,"author":{"gitId":"SungMatt"},"content":" public static void printBottom() {","lastModifiedDate":"2023-08-23"},{"lineNumber":164,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":165,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":166,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SungMatt":166}},{"path":"src/main/java/mattbot/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import mattbot.Storage;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" public final static DateTimeFormatter DTFORMAT \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" public Parser() {}","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" /*public static void parseInput(String input) {","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" String[] details \u003d input.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" String command \u003d details[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" } except (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Ahh! You need to give an input!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" switch (command) {","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" case \"list\":","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.getTask(i + 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" System.out.println(String.format(\"%d. %s\", i + 1, t));","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" }*/","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" public static Task parseFile(String saveString) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" String[] details \u003d saveString.split(\" \\\\| \");","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" Task newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" switch (details[0]) {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" case \"T\":","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Todo(details[2], getBoolean(details[1]));","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" case \"D\":","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Deadline(details[2], getBoolean(details[1]),","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" LocalDateTime.parse(details[3], DTFORMAT));","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" case \"E\":","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Event(details[2], getBoolean(details[1]),","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" LocalDateTime.parse(details[3],DTFORMAT) , LocalDateTime.parse(details[4],DTFORMAT));","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" // Should throw an error here, maybe a can\u0027t read error?","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Todo(\"Oops, no details!\", true);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Yikes, your savefile had some issues!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" newTask \u003d new Todo(\"Oops, no details!\", true);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" * Gets a boolean value from a String-represented 1 or 0.","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" * @params String Done state as represented by 1 or 0","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" * @return True or False","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" public static boolean getBoolean(String value)","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" return (value.equals(\"1\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SungMatt":71}},{"path":"src/main/java/mattbot/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import mattbot.Parser;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":"import java.io.File; // Import the File class","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":"import java.io.IOException; // Import the IOException class to handle errors","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":"import java.io.FileNotFoundException; // Import this class to handle errors","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"import java.io.FileWriter; // Import the FileWriter class","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" protected TaskList data;","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" private BufferedReader myReader;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" private Path dataPath;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" private static final String SAVE_NAME \u003d \"mattbot.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" private static final String SAVE_FOLDER \u003d \"data/\";","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" public Storage() throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" dataPath \u003d Paths.get(SAVE_FOLDER + SAVE_NAME);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" if (!Files.exists(dataPath)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" Files.createDirectory(Paths.get(SAVE_FOLDER));","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" Files.createFile(dataPath);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" myReader \u003d Files.newBufferedReader(dataPath);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" // myReader.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" * Loads list of tasks from the earlier specified filepath.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" * @return List of tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" public TaskList load() throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" while (true) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" String nextLine \u003d myReader.readLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" if (nextLine \u003d\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" taskList.addTask(Parser.parseFile(nextLine));","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" return taskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" public TaskList getTaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" return data;","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" public void writeBack(TaskList tL) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" // Format should be in","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" // [Type] | [isDone] | Name | startDate | endDate","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":" data \u003d tL;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" ArrayList\u003cTask\u003e aLTask \u003d tL.getTasks();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" ArrayList\u003cString\u003e toWrite \u003d new ArrayList\u003cString\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" for (int i \u003d 0; i \u003c aLTask.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":" Task t \u003d aLTask.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SungMatt"},"content":" toWrite.add(t.toFile());","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"SungMatt"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"SungMatt"},"content":" Files.delete(dataPath);","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SungMatt"},"content":" Files.write(dataPath, toWrite);","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SungMatt"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SungMatt"},"content":" System.out.println(\"Oh no, I\u0027ve failed to write the save file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SungMatt"},"content":" System.out.println(e);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SungMatt":84}},{"path":"src/main/java/mattbot/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" protected ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" public TaskList() {","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" * Adds new task to list.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" * @params t Task to be added.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" public void addTask(Task t) {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" * Removes task specified by index from list.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" * @params idx 1-based index of task to be removed.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" public void removeTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" tasks.remove(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" * Marks task as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" * @params idx 1-based index of task to be marked as complete.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" public void markTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.get(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" t.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" * Marks task as not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" * @params idx 1-based index of task to be marked as incomplete.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" public void unmarkTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" Task t \u003d tasks.get(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" t.markAsNotDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" * Returns size of task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" public int size() {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" return tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" * Returns entire task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" * @return List of tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" **/","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" public ArrayList\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":" return tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SungMatt"},"content":" public Task getTask(int idx) {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SungMatt"},"content":" return tasks.get(idx - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SungMatt":70}},{"path":"src/main/java/mattbot/commands.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package MattBot;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"public enum commands {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":" TODO,","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":" DEADLINE,","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" EVENT,","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":" LIST,","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":" BYE,","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":" MARK,","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" UNMARK","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":10}},{"path":"src/main/java/mattbot/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import mattbot.task.Task;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" protected LocalDateTime date;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" public static final DateTimeFormatter DTFORMAT \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" public Deadline(String name, LocalDateTime date) {","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" super(name, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" this.date \u003d date;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" public Deadline(String name, boolean isDone, LocalDateTime date ) {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" super(name, isDone);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" this.date \u003d date;","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" public LocalDateTime getDate() {","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" return this.date;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" * Returns a friendly version of the date.","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" * @returns Date in form of May 12 2023 20:00","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" public String dateToString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" return this.date.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy HH\u0027:\u0027mm\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" * Identifies itself as a Deadline.","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" * @returns Character to identify the type of Task.","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" public String identifier() {","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" return \"D\";","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" * Returns String form for storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" * @returns String for storage format.","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":" public String toFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" return identifier() + \" | \" + showStatusAsFile() + \" | \" + showName() + \" | \" + getDate().format(DTFORMAT);","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" return String.format(\"[%s] [%s] %s (by: %s)\", this.identifier(), this.showStatus(), this.showName(), dateToString());","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":56}},{"path":"src/main/java/mattbot/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"import java.time.temporal.ChronoUnit;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" protected LocalDateTime startDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" protected LocalDateTime endDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" public static final DateTimeFormatter DTFORMAT \u003d DateTimeFormatter.ofPattern(\"yyyyMMdd\u0027T\u0027HHmm\");","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" public Event(String name, LocalDateTime startDate, LocalDateTime endDate) {","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" super(name, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" this.startDate \u003d startDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" this.endDate \u003d endDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" public Event(String name, boolean isDone, LocalDateTime startDate, LocalDateTime endDate) {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" super(name, isDone);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" this.startDate \u003d startDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" this.endDate \u003d endDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":" public LocalDateTime getStartDate() {","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" return this.startDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" public LocalDateTime getEndDate() {","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" return this.endDate;","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" public String identifier() {","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":" return \"E\";","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" * Returns a friendly version of the start date.","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"SungMatt"},"content":" * @returns Start Date in form of May 12 2023 20:00","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"SungMatt"},"content":" public String startDateToString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"SungMatt"},"content":" return this.startDate.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy HH\u0027:\u0027mm\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"SungMatt"},"content":" * Returns a friendly version of the end date.","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"SungMatt"},"content":" * @returns End Date in form of May 12 2023 20:00","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"SungMatt"},"content":" public String endDateToString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"SungMatt"},"content":" return this.endDate.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy HH\u0027:\u0027mm\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SungMatt"},"content":" * Returns String form for storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SungMatt"},"content":" * @returns String for storage format.","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SungMatt"},"content":" public String toFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SungMatt"},"content":" return identifier() + \" | \" + showStatusAsFile() + \" | \" + showName() + \" | \" + getStartDate().format(DTFORMAT)","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"SungMatt"},"content":" + \" | \" + getEndDate().format(DTFORMAT);","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SungMatt"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"SungMatt"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"SungMatt"},"content":" return String.format(\"[%s] [%s] %s (from: %s to: %s)\", this.identifier(), this.showStatus(), this.showName(),","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"SungMatt"},"content":" this.startDateToString(), this.endDateToString());","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":64}},{"path":"src/main/java/mattbot/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":" protected String name;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":" public Task(String name, boolean isDone) {","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":" this.name \u003d name;","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" this.isDone \u003d isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" public void markAsNotDone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" public String showStatus() {","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" return (isDone ? \"X\" : \" \");","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"SungMatt"},"content":" public String showName() {","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"SungMatt"},"content":" return this.name;","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"SungMatt"},"content":" public abstract String identifier();","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SungMatt"},"content":" public abstract String toFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SungMatt"},"content":" public String showStatusAsFile() { return (isDone ? \"1\" : \"0\"); }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SungMatt"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"SungMatt"},"content":" return String.format(\"[%s] [%s] %s\", this.identifier(), this.showStatus(), this.showName());","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"SungMatt":35}},{"path":"src/main/java/mattbot/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot.task;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":" public Todo(String name) {","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":" super(name, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":" public Todo(String name, boolean isDone) {","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":" super(name, isDone);","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" public String identifier() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" return \"T\";","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" /*","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" * Returns String form for storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" * @returns String for storage format.","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SungMatt"},"content":" public String toFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SungMatt"},"content":" return identifier() + \" | \" + showStatusAsFile() + \" | \" + showName();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":22}},{"path":"src/test/java/MattBotTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"package mattbot; //same package as the class being tested","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SungMatt"},"content":"public class MattBotTest {","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SungMatt"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SungMatt"},"content":" public void dummyTest() {","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SungMatt"},"content":" assertEquals(2, 2);","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SungMatt"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"SungMatt"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"SungMatt"},"content":" public void anotherDummyTest() {","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"SungMatt"},"content":" assertEquals(4, 4);","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"SungMatt"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SungMatt"},"content":"}","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"SungMatt":18}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"SungMatt"},"content":"todo Eat supper","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"SungMatt"},"content":"deadline CS2103 Homework /by Tomorrow","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"SungMatt"},"content":"event CS1010S Tutorial /from 1pm tomorrow /to 2pm tomorrow","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"SungMatt"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"SungMatt"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"SungMatt":5}},{"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":"SungMatt"},"content":"java -classpath ../bin MattBot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-24"},{"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":{"SungMatt":1,"-":37}}] diff --git a/SungMatt_ip_master/commits.json b/SungMatt_ip_master/commits.json index 0e40ecbe..91934078 100644 --- a/SungMatt_ip_master/commits.json +++ b/SungMatt_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"SungMatt":[{"date":"2023-08-22","commitResults":[{"hash":"db36ba53d7d4c1cf2d0204c2ba477aa63f4ffa04","isMergeCommit":false,"messageTitle":"Modify name of DukeBot","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":10}}},{"hash":"88a0916917f38fd9b14da93e33559fcbbde62fa6","isMergeCommit":false,"messageTitle":"Add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}},{"hash":"8bfebd580531ae277f82ea8e8cc26bf98f055a10","isMergeCommit":false,"messageTitle":"Add basic task adding functionality","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":8}}}]},{"date":"2023-08-23","commitResults":[{"hash":"ba95f3baa8580b259274838e514bd4876e677197","isMergeCommit":false,"messageTitle":"Add Task functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":0}}},{"hash":"8206b6ad21e26de22a761b71c3bde9ab85d2d81e","isMergeCommit":false,"messageTitle":"Add marking and unmarking","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":10}}}]},{"date":"2023-08-24","commitResults":[{"hash":"bfa3ad4587864117d3fd120e37ddf65ca9d95326","isMergeCommit":false,"messageTitle":"Add functionality for multiple types of events","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":8}}},{"hash":"bc00219431539a837dedb763b8da8cae91acd922","isMergeCommit":false,"messageTitle":"Fix list type behavior","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"cf971d647d3702db6be4425c672225995d110078","isMergeCommit":false,"messageTitle":"Add autotesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"sh":{"insertions":2,"deletions":2}}},{"hash":"bdd2a1d6f91a625a8e03144da42e694360764d07","isMergeCommit":false,"messageTitle":"Add error finding functionality","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"5b759a22c11bde20c8aa0b93b652e31149112072","isMergeCommit":false,"messageTitle":"Add removal function","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":3}}},{"hash":"4c3ba546b08ffacdba8b215f69c6f94941744165","isMergeCommit":false,"messageTitle":"Add enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}}]},{"date":"2023-09-02","commitResults":[{"hash":"2934061a437d4f57acf14a5c7dbc6ca7be521191","isMergeCommit":false,"messageTitle":"Add save functionality","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":268,"deletions":22}}}]},{"date":"2023-09-03","commitResults":[{"hash":"ad06e0f4600385085bcbd08014cd8222fba07cc7","isMergeCommit":false,"messageTitle":"Add DateTime functionality","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":102,"deletions":28}}},{"hash":"4243611b23bc5bcabea3b7b7035a690186896cb6","isMergeCommit":false,"messageTitle":"Make code pretty","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":115,"deletions":97}}},{"hash":"b4939f261f70fcd3bd6d80913ad507619430702c","isMergeCommit":false,"messageTitle":"Restructure directories","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":0}}},{"hash":"8fce86bad7cbc9c3a34433b4305aa0291ce6b3e2","isMergeCommit":false,"messageTitle":"Add Packaging","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":9}}},{"hash":"4eff5e2e9ef9f17258532fad56c56e71c6d420cf","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 Add gradle support","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"SungMatt":{"java":577,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":0,"txt":5}},"authorContributionVariance":{"SungMatt":12902.525},"authorDisplayNameMap":{"SungMatt":"CS2103-T16-1 MATT..IANG"}} +{"authorDailyContributionsMap":{"SungMatt":[{"date":"2023-08-22","commitResults":[{"hash":"db36ba53d7d4c1cf2d0204c2ba477aa63f4ffa04","isMergeCommit":false,"messageTitle":"Modify name of DukeBot","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":10}}},{"hash":"88a0916917f38fd9b14da93e33559fcbbde62fa6","isMergeCommit":false,"messageTitle":"Add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}},{"hash":"8bfebd580531ae277f82ea8e8cc26bf98f055a10","isMergeCommit":false,"messageTitle":"Add basic task adding functionality","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":8}}}]},{"date":"2023-08-23","commitResults":[{"hash":"ba95f3baa8580b259274838e514bd4876e677197","isMergeCommit":false,"messageTitle":"Add Task functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":0}}},{"hash":"8206b6ad21e26de22a761b71c3bde9ab85d2d81e","isMergeCommit":false,"messageTitle":"Add marking and unmarking","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":10}}}]},{"date":"2023-08-24","commitResults":[{"hash":"bfa3ad4587864117d3fd120e37ddf65ca9d95326","isMergeCommit":false,"messageTitle":"Add functionality for multiple types of events","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":8}}},{"hash":"bc00219431539a837dedb763b8da8cae91acd922","isMergeCommit":false,"messageTitle":"Fix list type behavior","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"cf971d647d3702db6be4425c672225995d110078","isMergeCommit":false,"messageTitle":"Add autotesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"sh":{"insertions":2,"deletions":2}}},{"hash":"bdd2a1d6f91a625a8e03144da42e694360764d07","isMergeCommit":false,"messageTitle":"Add error finding functionality","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"5b759a22c11bde20c8aa0b93b652e31149112072","isMergeCommit":false,"messageTitle":"Add removal function","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":3}}},{"hash":"4c3ba546b08ffacdba8b215f69c6f94941744165","isMergeCommit":false,"messageTitle":"Add enums","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}}]},{"date":"2023-09-02","commitResults":[{"hash":"2934061a437d4f57acf14a5c7dbc6ca7be521191","isMergeCommit":false,"messageTitle":"Add save functionality","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":268,"deletions":22}}}]},{"date":"2023-09-03","commitResults":[{"hash":"ad06e0f4600385085bcbd08014cd8222fba07cc7","isMergeCommit":false,"messageTitle":"Add DateTime functionality","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":102,"deletions":28}}},{"hash":"4243611b23bc5bcabea3b7b7035a690186896cb6","isMergeCommit":false,"messageTitle":"Make code pretty","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":115,"deletions":97}}},{"hash":"b4939f261f70fcd3bd6d80913ad507619430702c","isMergeCommit":false,"messageTitle":"Restructure directories","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":0}}},{"hash":"8fce86bad7cbc9c3a34433b4305aa0291ce6b3e2","isMergeCommit":false,"messageTitle":"Add Packaging","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":9}}},{"hash":"4eff5e2e9ef9f17258532fad56c56e71c6d420cf","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 Add gradle support","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"78c0e74c0e9be23e3bafe8863e08949a6adb0a95","isMergeCommit":false,"messageTitle":"Add Gradle and Checkstyle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":7,"deletions":2},"java":{"insertions":23,"deletions":4}}},{"hash":"50b2f95637900cdd18168c720d534bead4f38a2c","isMergeCommit":false,"messageTitle":"Updated packaging structure to follow code convention","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":2},"java":{"insertions":31,"deletions":31}}}]}]},"authorFileTypeContributionMap":{"SungMatt":{"java":596,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":7,"txt":5}},"authorContributionVariance":{"SungMatt":17617.818},"authorDisplayNameMap":{"SungMatt":"CS2103-T16-1 MATT..IANG"}} diff --git a/SynapseProgramming_ip_master/authorship.json b/SynapseProgramming_ip_master/authorship.json index fe49716f..f3f278c2 100644 --- a/SynapseProgramming_ip_master/authorship.json +++ b/SynapseProgramming_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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" implementation \u0027com.fasterxml.jackson.core:jackson-core:2.12.3\u0027","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" implementation \u0027com.fasterxml.jackson.core:jackson-databind:2.12.3\u0027","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" implementation \u0027com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.3\u0027","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" mainClass.set(\"seedu.duke.Duke\")","lastModifiedDate":"2023-08-05"},{"lineNumber":35,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":41,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"SynapseProgramming":3,"-":42}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"import exceptions.ParserException;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"import io.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import io.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import storage.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":" private Parser parser;","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" private Storage storage;","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" public Duke() {","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" this.taskList \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" this.parser \u003d new Parser();","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" this.storage \u003d new Storage(this.taskList);","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" public void listTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" if (taskList.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"list is empty!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" String index \u003d Integer.toString(i + 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(index + \" \" + ui.displayTask(selectedTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" public void unmarkTask() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" // set current task as un-done","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" selectedTask.setUnDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayAction(\"Marked selected task as un-done desu\", selectedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a valid index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":" public void markTaskAsDone() {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" // set current task as done","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" selectedTask.setDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayAction(\"Marked selected task as done\", selectedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a valid index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" public void addTodo() {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" Task curentTask \u003d new Todo(parser.getTaskName());","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(curentTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"added:\\t\" + ui.displayTask(curentTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":" } catch (StringIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a name after the todo command!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"SynapseProgramming"},"content":" public void addDeadline() {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SynapseProgramming"},"content":" Task curentTask \u003d parser.parseDeadline();","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(curentTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"added:\\t\" + ui.displayTask(curentTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"SynapseProgramming"},"content":" public void addEvent() {","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"SynapseProgramming"},"content":" Task curentTask \u003d parser.parseEvent();","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(curentTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"added:\\t\" + ui.displayTask(curentTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"SynapseProgramming"},"content":" public void deleteTask() {","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"SynapseProgramming"},"content":" if (taskList.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"The list is empty!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"SynapseProgramming"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"SynapseProgramming"},"content":" // remove the current task","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"SynapseProgramming"},"content":" taskList.remove(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayAction(\"Deleting selected task!\", selectedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a valid index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"SynapseProgramming"},"content":" public void run() {","lastModifiedDate":"2023-08-31"},{"lineNumber":113,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":114,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayGreetings();","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"SynapseProgramming"},"content":" storage.loadTasks();","lastModifiedDate":"2023-08-30"},{"lineNumber":116,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":117,"author":{"gitId":"SynapseProgramming"},"content":" label:","lastModifiedDate":"2023-08-22"},{"lineNumber":118,"author":{"gitId":"SynapseProgramming"},"content":" while (true) {","lastModifiedDate":"2023-08-21"},{"lineNumber":119,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":120,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":121,"author":{"gitId":"SynapseProgramming"},"content":" parser.update();","lastModifiedDate":"2023-08-30"},{"lineNumber":122,"author":{"gitId":"SynapseProgramming"},"content":" } catch (NoSuchElementException ex) {","lastModifiedDate":"2023-08-23"},{"lineNumber":123,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":124,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":125,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":126,"author":{"gitId":"SynapseProgramming"},"content":" // there is no input","lastModifiedDate":"2023-08-22"},{"lineNumber":127,"author":{"gitId":"SynapseProgramming"},"content":" if (parser.isInputThere()) {","lastModifiedDate":"2023-08-30"},{"lineNumber":128,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":129,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":130,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":131,"author":{"gitId":"SynapseProgramming"},"content":" switch (parser.getCommandString()) {","lastModifiedDate":"2023-08-30"},{"lineNumber":132,"author":{"gitId":"SynapseProgramming"},"content":" case \"bye\":","lastModifiedDate":"2023-08-22"},{"lineNumber":133,"author":{"gitId":"SynapseProgramming"},"content":" break label;","lastModifiedDate":"2023-08-22"},{"lineNumber":134,"author":{"gitId":"SynapseProgramming"},"content":" case \"list\":","lastModifiedDate":"2023-08-22"},{"lineNumber":135,"author":{"gitId":"SynapseProgramming"},"content":" listTasks();","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":137,"author":{"gitId":"SynapseProgramming"},"content":" case \"mark\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":138,"author":{"gitId":"SynapseProgramming"},"content":" markTaskAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":140,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":141,"author":{"gitId":"SynapseProgramming"},"content":" case \"unmark\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":142,"author":{"gitId":"SynapseProgramming"},"content":" unmarkTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":144,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":145,"author":{"gitId":"SynapseProgramming"},"content":" case \"todo\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":146,"author":{"gitId":"SynapseProgramming"},"content":" addTodo();","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":148,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":149,"author":{"gitId":"SynapseProgramming"},"content":" case \"deadline\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":150,"author":{"gitId":"SynapseProgramming"},"content":" addDeadline();","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":152,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":153,"author":{"gitId":"SynapseProgramming"},"content":" case \"event\": {","lastModifiedDate":"2023-08-23"},{"lineNumber":154,"author":{"gitId":"SynapseProgramming"},"content":" addEvent();","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":156,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":157,"author":{"gitId":"SynapseProgramming"},"content":" case \"delete\": {","lastModifiedDate":"2023-08-24"},{"lineNumber":158,"author":{"gitId":"SynapseProgramming"},"content":" deleteTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":160,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":161,"author":{"gitId":"SynapseProgramming"},"content":" default:","lastModifiedDate":"2023-08-22"},{"lineNumber":162,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a suitable task!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":163,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":164,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":165,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":166,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayGoodbye();","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"SynapseProgramming"},"content":" storage.saveTasks();","lastModifiedDate":"2023-08-30"},{"lineNumber":168,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":169,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":170,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":171,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":172,"author":{"gitId":"SynapseProgramming"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-31"},{"lineNumber":173,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":174,"author":{"gitId":"SynapseProgramming"},"content":" Duke duke \u003d new Duke();","lastModifiedDate":"2023-08-31"},{"lineNumber":175,"author":{"gitId":"SynapseProgramming"},"content":" duke.run();","lastModifiedDate":"2023-08-31"},{"lineNumber":176,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":178,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"SynapseProgramming":174,"-":4}},{"path":"src/main/java/exceptions/ParserException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package exceptions;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"public class ParserException extends Exception {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":" public ParserException() {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":" super();","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":" public ParserException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SynapseProgramming":13}},{"path":"src/main/java/io/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package io;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import exceptions.ParserException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-30"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-30"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"public class Parser {","lastModifiedDate":"2023-08-30"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" public Parser() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" inputTokens \u003d null;","lastModifiedDate":"2023-08-30"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" inputString \u003d null;","lastModifiedDate":"2023-08-30"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-30"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" public void update() throws NoSuchElementException {","lastModifiedDate":"2023-08-30"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" inputString \u003d scanner.nextLine();","lastModifiedDate":"2023-08-30"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" inputTokens \u003d inputString.split(\" \");","lastModifiedDate":"2023-08-30"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" public String getInputString() {","lastModifiedDate":"2023-08-30"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" return this.inputString;","lastModifiedDate":"2023-08-30"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" public String[] getInputTokens() {","lastModifiedDate":"2023-08-30"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" return this.inputTokens;","lastModifiedDate":"2023-08-30"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" public int getIndex() throws IndexOutOfBoundsException {","lastModifiedDate":"2023-08-30"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" int index \u003d Integer.parseInt(inputTokens[1]);","lastModifiedDate":"2023-08-30"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" index--;","lastModifiedDate":"2023-08-30"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" return index;","lastModifiedDate":"2023-08-30"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" public Deadline parseDeadline() throws ParserException {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" Deadline result \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" String taskName \u003d this.getTaskName();","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":" String[] parts \u003d taskName.split(\"/by\", 2);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d parts[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" String endDate \u003d parts[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":" endDate \u003d endDate.replace(\" \", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" LocalDate date \u003d LocalDate.parse(endDate, formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" result \u003d new Deadline(name, date);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ArrayIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(\"Please include a (/by) command, followed by a date\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" } catch (StringIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":" \"Please enter a name, followed by a (/by) command, followed by a date\");","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" } catch (DateTimeParseException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(\"Please enter a time format as dd/MM/yyyy\");","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" return result;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":" public Event parseEvent() throws ParserException {","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":" Event result \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"SynapseProgramming"},"content":" String taskName \u003d this.getTaskName();","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SynapseProgramming"},"content":" String[] parts \u003d taskName.split(\"/from\", 2);","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d parts[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SynapseProgramming"},"content":" String dates \u003d parts[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SynapseProgramming"},"content":" String[] datesplit \u003d dates.split(\"/to\", 2);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SynapseProgramming"},"content":" String startDate \u003d datesplit[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SynapseProgramming"},"content":" String endDate \u003d datesplit[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"SynapseProgramming"},"content":" result \u003d new Event(name, startDate, endDate);","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"SynapseProgramming"},"content":" } catch (StringIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(\"The event command cannot be empty!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ArrayIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"SynapseProgramming"},"content":" \"Please enter a name, followed by a (/from) command, followed by a date, followed by a (/to) command and a date\");","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"SynapseProgramming"},"content":" return result;","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"SynapseProgramming"},"content":" public String getCommandString() {","lastModifiedDate":"2023-08-30"},{"lineNumber":94,"author":{"gitId":"SynapseProgramming"},"content":" if (inputTokens.length \u003d\u003d 0) {","lastModifiedDate":"2023-08-30"},{"lineNumber":95,"author":{"gitId":"SynapseProgramming"},"content":" return \"\";","lastModifiedDate":"2023-08-30"},{"lineNumber":96,"author":{"gitId":"SynapseProgramming"},"content":" } else {","lastModifiedDate":"2023-08-30"},{"lineNumber":97,"author":{"gitId":"SynapseProgramming"},"content":" return inputTokens[0];","lastModifiedDate":"2023-08-30"},{"lineNumber":98,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":99,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":100,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":101,"author":{"gitId":"SynapseProgramming"},"content":" public String getTaskName() {","lastModifiedDate":"2023-08-30"},{"lineNumber":102,"author":{"gitId":"SynapseProgramming"},"content":" String commandString \u003d this.getCommandString();","lastModifiedDate":"2023-08-30"},{"lineNumber":103,"author":{"gitId":"SynapseProgramming"},"content":" int commandLength \u003d commandString.length() + 1;","lastModifiedDate":"2023-08-30"},{"lineNumber":104,"author":{"gitId":"SynapseProgramming"},"content":" return inputString.substring(commandLength);","lastModifiedDate":"2023-08-30"},{"lineNumber":105,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":106,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":107,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":108,"author":{"gitId":"SynapseProgramming"},"content":" public boolean isInputThere() {","lastModifiedDate":"2023-08-30"},{"lineNumber":109,"author":{"gitId":"SynapseProgramming"},"content":" return inputTokens.length \u003d\u003d 0;","lastModifiedDate":"2023-08-30"},{"lineNumber":110,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":111,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":112,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":113,"author":{"gitId":"SynapseProgramming"},"content":" private String inputString;","lastModifiedDate":"2023-08-30"},{"lineNumber":114,"author":{"gitId":"SynapseProgramming"},"content":" private String[] inputTokens;","lastModifiedDate":"2023-08-30"},{"lineNumber":115,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":116,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":117,"author":{"gitId":"SynapseProgramming"},"content":" private Scanner scanner;","lastModifiedDate":"2023-08-30"},{"lineNumber":118,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-30"}],"authorContributionMap":{"SynapseProgramming":118}},{"path":"src/main/java/io/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package io;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"public class Ui {","lastModifiedDate":"2023-08-30"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" public void displayGreetings() {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" String greeting \u003d \"Hello! I\u0027m KimochiUsagi (きもち うさぎ)!\\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":" String info \u003d \"Ask the bunny a question!\\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(greeting);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(info);","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" public void displayAction(String message, Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(this.displayTask(task));","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" public void displayGoodbye() {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" String goodbye \u003d \"Bye. See you again! (またね)\";","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(goodbye);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" public String displayTask(Task task) {","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" String answer \u003d \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" if (task instanceof Todo) {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" answer \u003d \"[\" + Todo.taskType + \"]\" + \"[\" + task.getDoneIcon() + \"] \" + task.getDescription();","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" } else if (task instanceof Deadline) {","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" Deadline deadTask \u003d (Deadline) task;","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" answer \u003d","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" \"[\" + Deadline.taskType + \"]\" + \"[\" + task.getDoneIcon() + \"] \" + task.getDescription()","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" + \"(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" + deadTask.getDeadDate() + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" } else if (task instanceof Event) {","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" Event eventTask \u003d (Event) task;","lastModifiedDate":"2023-08-23"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":" answer \u003d","lastModifiedDate":"2023-08-23"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" \"[\" + Event.taskType + \"]\" + \"[\" + task.getDoneIcon() + \"] \" + task.getDescription() + \"(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" + eventTask.getStartDate() + \" to \" + eventTask.getEndDate() + \")\";","lastModifiedDate":"2023-08-23"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" return answer;","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":56}},{"path":"src/main/java/storage/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.PropertyAccessor;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.core.JsonProcessingException;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.ObjectMapper;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"public class Storage {","lastModifiedDate":"2023-08-30"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" private ObjectMapper taskMapper;","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" public Storage(TaskList tasks) {","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" this.taskList \u003d tasks;","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper \u003d new ObjectMapper();","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.registerModule(new JavaTimeModule());","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" PolymorphicTypeValidator ptv \u003d BasicPolymorphicTypeValidator.builder()","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" .allowIfSubType(\"java.util.ArrayList\")","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" .allowIfSubType(\"ReceivedTasks\")","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" .allowIfSubType(\"tasks.Task\")","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" .build();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.activateDefaultTyping(ptv, DefaultTyping.NON_FINAL);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" public void loadTasks() {","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" Path filePath \u003d Paths.get(\"tasks.json\");","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" String content \u003d new String(Files.readAllBytes(filePath));","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" TaskList plist \u003d this.taskMapper.readValue(content, TaskList.class);","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" for (int i \u003d 0; i \u003c plist.size(); i++) {","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":" Task wow \u003d plist.get(i);","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(wow);","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage() + \" not found! No list loaded!\");","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":" // given the original tasklist, save the tasks into a json file","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" public void saveTasks() {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" Path filePath \u003d Paths.get(\"tasks.json\");","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":" String output \u003d","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.writeValueAsString(taskList);","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" Files.write(filePath, output.getBytes());","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" } catch (JsonProcessingException ex) {","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"something went wrong\");","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Unable to save to file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"SynapseProgramming":72}},{"path":"src/main/java/tasks/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeName;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeName(\"tasks.Deadline\")","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" public static final String taskType \u003d \"D\";","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" private LocalDate deadDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" public Deadline(String desc, LocalDate deaddate) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" super(desc);","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" this.deadDate \u003d deaddate;","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" public Deadline() {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" super(\"\");","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" public String getDeadDate() {","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" return this.deadDate.toString();","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":27}},{"path":"src/main/java/tasks/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeName;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeName(\"tasks.Event\")","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":" public static final String taskType \u003d \"E\";","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" private String startDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" private String endDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" public Event(String desc, String startDate, String endDate) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" super(desc);","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" this.startDate \u003d startDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" this.endDate \u003d endDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" public Event() {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" super(\"\");","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" public String getStartDate() {","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" return this.startDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" public String getEndDate() {","lastModifiedDate":"2023-08-23"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" return this.endDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"SynapseProgramming":33}},{"path":"src/main/java/tasks/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonIgnoreProperties;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonSubTypes;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeInfo;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"@JsonIgnoreProperties(ignoreUnknown \u003d true)","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeInfo(use \u003d JsonTypeInfo.Id.NAME, include \u003d JsonTypeInfo.As.PROPERTY)","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"@JsonSubTypes({","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" @JsonSubTypes.Type(value \u003d Todo.class, name \u003d \"tasks.Todo\"),","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" @JsonSubTypes.Type(value \u003d Deadline.class, name \u003d \"tasks.Deadline\"),","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" @JsonSubTypes.Type(value \u003d Event.class, name \u003d \"tasks.Event\"),}","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":")","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"public class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" private String description;","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" private Boolean done;","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" public Task(String desc) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" this.description \u003d desc;","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" this.done \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" public void setDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" this.done \u003d true;","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" public void setUnDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" this.done \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" public String getDoneIcon() {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" return this.done ? \"X\" : \" \";","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" return this.description;","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":42}},{"path":"src/main/java/tasks/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonIgnore;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"public class TaskList {","lastModifiedDate":"2023-08-30"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" public int size() {","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" return tasks.size();","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" public boolean isEmpty() {","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" return tasks.isEmpty();","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" public Task get(int index) {","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" return tasks.get(index);","lastModifiedDate":"2023-08-31"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" public void remove(int index) {","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" tasks.remove(index);","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"SynapseProgramming":44}},{"path":"src/main/java/tasks/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeName;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeName(\"tasks.Todo\")","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" public static final String taskType \u003d \"T\";","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" public Todo() {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":" super(\"\");","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" public Todo(String desc) {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" super(desc);","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":20}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"todo hello","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"deadline world /by thursday","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"event find bunnies /from monday /to sunday","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"mark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"mark 2","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"unmark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"list","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"SynapseProgramming":9}},{"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":"-"},"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":"SynapseProgramming"},"content":"#dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2023-08-23"},{"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":{"SynapseProgramming":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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" implementation \u0027com.fasterxml.jackson.core:jackson-core:2.12.3\u0027","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" implementation \u0027com.fasterxml.jackson.core:jackson-databind:2.12.3\u0027","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" implementation \u0027com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.3\u0027","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" mainClass.set(\"seedu.duke.Duke\")","lastModifiedDate":"2023-08-05"},{"lineNumber":35,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":41,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"SynapseProgramming":3,"-":42}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"import exceptions.ParserException;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"import io.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import io.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import storage.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":" private Parser parser;","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" private Storage storage;","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" public Duke() {","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" this.taskList \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" this.parser \u003d new Parser();","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" this.storage \u003d new Storage(this.taskList);","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" public void listTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" if (taskList.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"list is empty!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" for (int i \u003d 0; i \u003c taskList.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" String index \u003d Integer.toString(i + 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(index + \" \" + ui.displayTask(selectedTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" public void unmarkTask() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" // set current task as un-done","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" selectedTask.setUnDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayAction(\"Marked selected task as un-done desu\", selectedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a valid index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":" public void markTaskAsDone() {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" // set current task as done","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" selectedTask.setDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayAction(\"Marked selected task as done\", selectedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a valid index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" public void addTodo() {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" Task curentTask \u003d new Todo(parser.getTaskName());","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(curentTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"added:\\t\" + ui.displayTask(curentTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":" } catch (StringIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a name after the todo command!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"SynapseProgramming"},"content":" public void addDeadline() {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SynapseProgramming"},"content":" Task curentTask \u003d parser.parseDeadline();","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(curentTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"added:\\t\" + ui.displayTask(curentTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"SynapseProgramming"},"content":" public void addEvent() {","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"SynapseProgramming"},"content":" Task curentTask \u003d parser.parseEvent();","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(curentTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"added:\\t\" + ui.displayTask(curentTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"SynapseProgramming"},"content":" public void deleteTask() {","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"SynapseProgramming"},"content":" if (taskList.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"The list is empty!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"SynapseProgramming"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"SynapseProgramming"},"content":" // remove the current task","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"SynapseProgramming"},"content":" Task selectedTask \u003d taskList.get(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"SynapseProgramming"},"content":" taskList.remove(parser.getIndex());","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayAction(\"Deleting selected task!\", selectedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a valid index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"SynapseProgramming"},"content":" public void run() {","lastModifiedDate":"2023-08-31"},{"lineNumber":113,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":114,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayGreetings();","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"SynapseProgramming"},"content":" storage.loadTasks();","lastModifiedDate":"2023-08-30"},{"lineNumber":116,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":117,"author":{"gitId":"SynapseProgramming"},"content":" label:","lastModifiedDate":"2023-08-22"},{"lineNumber":118,"author":{"gitId":"SynapseProgramming"},"content":" while (true) {","lastModifiedDate":"2023-08-21"},{"lineNumber":119,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":120,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-08-23"},{"lineNumber":121,"author":{"gitId":"SynapseProgramming"},"content":" parser.update();","lastModifiedDate":"2023-08-30"},{"lineNumber":122,"author":{"gitId":"SynapseProgramming"},"content":" } catch (NoSuchElementException ex) {","lastModifiedDate":"2023-08-23"},{"lineNumber":123,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":124,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":125,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":126,"author":{"gitId":"SynapseProgramming"},"content":" // there is no input","lastModifiedDate":"2023-08-22"},{"lineNumber":127,"author":{"gitId":"SynapseProgramming"},"content":" if (parser.isInputThere()) {","lastModifiedDate":"2023-08-30"},{"lineNumber":128,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":129,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":130,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":131,"author":{"gitId":"SynapseProgramming"},"content":" switch (parser.getCommandString()) {","lastModifiedDate":"2023-08-30"},{"lineNumber":132,"author":{"gitId":"SynapseProgramming"},"content":" case \"bye\":","lastModifiedDate":"2023-08-22"},{"lineNumber":133,"author":{"gitId":"SynapseProgramming"},"content":" break label;","lastModifiedDate":"2023-08-22"},{"lineNumber":134,"author":{"gitId":"SynapseProgramming"},"content":" case \"list\":","lastModifiedDate":"2023-08-22"},{"lineNumber":135,"author":{"gitId":"SynapseProgramming"},"content":" listTasks();","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":137,"author":{"gitId":"SynapseProgramming"},"content":" case \"mark\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":138,"author":{"gitId":"SynapseProgramming"},"content":" markTaskAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":140,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":141,"author":{"gitId":"SynapseProgramming"},"content":" case \"unmark\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":142,"author":{"gitId":"SynapseProgramming"},"content":" unmarkTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":144,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":145,"author":{"gitId":"SynapseProgramming"},"content":" case \"todo\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":146,"author":{"gitId":"SynapseProgramming"},"content":" addTodo();","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":148,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":149,"author":{"gitId":"SynapseProgramming"},"content":" case \"deadline\": {","lastModifiedDate":"2023-08-22"},{"lineNumber":150,"author":{"gitId":"SynapseProgramming"},"content":" addDeadline();","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-22"},{"lineNumber":152,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":153,"author":{"gitId":"SynapseProgramming"},"content":" case \"event\": {","lastModifiedDate":"2023-08-23"},{"lineNumber":154,"author":{"gitId":"SynapseProgramming"},"content":" addEvent();","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":156,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":157,"author":{"gitId":"SynapseProgramming"},"content":" case \"delete\": {","lastModifiedDate":"2023-08-24"},{"lineNumber":158,"author":{"gitId":"SynapseProgramming"},"content":" deleteTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"SynapseProgramming"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":160,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":161,"author":{"gitId":"SynapseProgramming"},"content":" default:","lastModifiedDate":"2023-08-22"},{"lineNumber":162,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Please enter a suitable task!\");","lastModifiedDate":"2023-08-22"},{"lineNumber":163,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":164,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":165,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":166,"author":{"gitId":"SynapseProgramming"},"content":" ui.displayGoodbye();","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"SynapseProgramming"},"content":" storage.saveTasks();","lastModifiedDate":"2023-08-30"},{"lineNumber":168,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":169,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":170,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":171,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":172,"author":{"gitId":"SynapseProgramming"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-31"},{"lineNumber":173,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":174,"author":{"gitId":"SynapseProgramming"},"content":" Duke duke \u003d new Duke();","lastModifiedDate":"2023-08-31"},{"lineNumber":175,"author":{"gitId":"SynapseProgramming"},"content":" duke.run();","lastModifiedDate":"2023-08-31"},{"lineNumber":176,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":178,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"SynapseProgramming":174,"-":4}},{"path":"src/main/java/exceptions/ParserException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package exceptions;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"public class ParserException extends Exception {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":" public ParserException() {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":" super();","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":" public ParserException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SynapseProgramming":13}},{"path":"src/main/java/io/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package io;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import exceptions.ParserException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-08-30"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-30"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"public class Parser {","lastModifiedDate":"2023-08-30"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" public Parser() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" inputTokens \u003d null;","lastModifiedDate":"2023-08-30"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" inputString \u003d null;","lastModifiedDate":"2023-08-30"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-30"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" public void update() throws NoSuchElementException {","lastModifiedDate":"2023-08-30"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" inputString \u003d scanner.nextLine();","lastModifiedDate":"2023-08-30"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" inputTokens \u003d inputString.split(\" \");","lastModifiedDate":"2023-08-30"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" public String getInputString() {","lastModifiedDate":"2023-08-30"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" return this.inputString;","lastModifiedDate":"2023-08-30"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" public String[] getInputTokens() {","lastModifiedDate":"2023-08-30"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" return this.inputTokens;","lastModifiedDate":"2023-08-30"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" public int getIndex() throws IndexOutOfBoundsException {","lastModifiedDate":"2023-08-30"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" int index \u003d Integer.parseInt(inputTokens[1]);","lastModifiedDate":"2023-08-30"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" index--;","lastModifiedDate":"2023-08-30"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" return index;","lastModifiedDate":"2023-08-30"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" public Deadline parseDeadline() throws ParserException {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" Deadline result \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" String taskName \u003d this.getTaskName();","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":" String[] parts \u003d taskName.split(\"/by\", 2);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d parts[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" String endDate \u003d parts[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":" endDate \u003d endDate.replace(\" \", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" LocalDate date \u003d LocalDate.parse(endDate, formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" result \u003d new Deadline(name, date);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ArrayIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(\"Please include a (/by) command, followed by a date\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" } catch (StringIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":" \"Please enter a name, followed by a (/by) command, followed by a date\");","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" } catch (DateTimeParseException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(\"Please enter a time format as dd/MM/yyyy\");","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" return result;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":" public Event parseEvent() throws ParserException {","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":" Event result \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"SynapseProgramming"},"content":" String taskName \u003d this.getTaskName();","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SynapseProgramming"},"content":" String[] parts \u003d taskName.split(\"/from\", 2);","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d parts[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SynapseProgramming"},"content":" String dates \u003d parts[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SynapseProgramming"},"content":" String[] datesplit \u003d dates.split(\"/to\", 2);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SynapseProgramming"},"content":" String startDate \u003d datesplit[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SynapseProgramming"},"content":" String endDate \u003d datesplit[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"SynapseProgramming"},"content":" result \u003d new Event(name, startDate, endDate);","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"SynapseProgramming"},"content":" } catch (StringIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(\"The event command cannot be empty!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ArrayIndexOutOfBoundsException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"SynapseProgramming"},"content":" throw new ParserException(","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"SynapseProgramming"},"content":" \"Please enter a name, followed by a (/from) command, followed by a date, followed by a (/to) command and a date\");","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"SynapseProgramming"},"content":" return result;","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"SynapseProgramming"},"content":" public String getCommandString() {","lastModifiedDate":"2023-08-30"},{"lineNumber":94,"author":{"gitId":"SynapseProgramming"},"content":" if (inputTokens.length \u003d\u003d 0) {","lastModifiedDate":"2023-08-30"},{"lineNumber":95,"author":{"gitId":"SynapseProgramming"},"content":" return \"\";","lastModifiedDate":"2023-08-30"},{"lineNumber":96,"author":{"gitId":"SynapseProgramming"},"content":" } else {","lastModifiedDate":"2023-08-30"},{"lineNumber":97,"author":{"gitId":"SynapseProgramming"},"content":" return inputTokens[0];","lastModifiedDate":"2023-08-30"},{"lineNumber":98,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":99,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":100,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":101,"author":{"gitId":"SynapseProgramming"},"content":" public String getTaskName() {","lastModifiedDate":"2023-08-30"},{"lineNumber":102,"author":{"gitId":"SynapseProgramming"},"content":" String commandString \u003d this.getCommandString();","lastModifiedDate":"2023-08-30"},{"lineNumber":103,"author":{"gitId":"SynapseProgramming"},"content":" int commandLength \u003d commandString.length() + 1;","lastModifiedDate":"2023-08-30"},{"lineNumber":104,"author":{"gitId":"SynapseProgramming"},"content":" return inputString.substring(commandLength);","lastModifiedDate":"2023-08-30"},{"lineNumber":105,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":106,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":107,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":108,"author":{"gitId":"SynapseProgramming"},"content":" public boolean isInputThere() {","lastModifiedDate":"2023-08-30"},{"lineNumber":109,"author":{"gitId":"SynapseProgramming"},"content":" return inputTokens.length \u003d\u003d 0;","lastModifiedDate":"2023-08-30"},{"lineNumber":110,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-30"},{"lineNumber":111,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":112,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":113,"author":{"gitId":"SynapseProgramming"},"content":" private String inputString;","lastModifiedDate":"2023-08-30"},{"lineNumber":114,"author":{"gitId":"SynapseProgramming"},"content":" private String[] inputTokens;","lastModifiedDate":"2023-08-30"},{"lineNumber":115,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":116,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-30"},{"lineNumber":117,"author":{"gitId":"SynapseProgramming"},"content":" private Scanner scanner;","lastModifiedDate":"2023-08-30"},{"lineNumber":118,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-30"}],"authorContributionMap":{"SynapseProgramming":118}},{"path":"src/main/java/io/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package io;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"public class Ui {","lastModifiedDate":"2023-08-30"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" public void displayGreetings() {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" String greeting \u003d \"Hello! I\u0027m KimochiUsagi (きもち うさぎ)!\\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":" String info \u003d \"Ask the bunny a question!\\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(greeting);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(info);","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" public void displayAction(String message, Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(this.displayTask(task));","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" public void displayGoodbye() {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" String goodbye \u003d \"Bye. See you again! (またね)\";","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(goodbye);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" public String displayTask(Task task) {","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" String answer \u003d \"\";","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" if (task instanceof Todo) {","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" answer \u003d \"[\" + Todo.taskType + \"]\" + \"[\" + task.getDoneIcon() + \"] \" + task.getDescription();","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" } else if (task instanceof Deadline) {","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" Deadline deadTask \u003d (Deadline) task;","lastModifiedDate":"2023-08-22"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" answer \u003d","lastModifiedDate":"2023-08-22"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" \"[\" + Deadline.taskType + \"]\" + \"[\" + task.getDoneIcon() + \"] \" + task.getDescription()","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" + \"(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" + deadTask.getDeadDate() + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" } else if (task instanceof Event) {","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" Event eventTask \u003d (Event) task;","lastModifiedDate":"2023-08-23"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":" answer \u003d","lastModifiedDate":"2023-08-23"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" \"[\" + Event.taskType + \"]\" + \"[\" + task.getDoneIcon() + \"] \" + task.getDescription() + \"(\"","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" + eventTask.getStartDate() + \" to \" + eventTask.getEndDate() + \")\";","lastModifiedDate":"2023-08-23"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" return answer;","lastModifiedDate":"2023-08-22"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":56}},{"path":"src/main/java/storage/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.PropertyAccessor;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.core.JsonProcessingException;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.databind.ObjectMapper;","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"public class Storage {","lastModifiedDate":"2023-08-30"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" private ObjectMapper taskMapper;","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" public Storage(TaskList tasks) {","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" this.taskList \u003d tasks;","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper \u003d new ObjectMapper();","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.registerModule(new JavaTimeModule());","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" PolymorphicTypeValidator ptv \u003d BasicPolymorphicTypeValidator.builder()","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" .allowIfSubType(\"java.util.ArrayList\")","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" .allowIfSubType(\"ReceivedTasks\")","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" .allowIfSubType(\"tasks.Task\")","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" .build();","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.activateDefaultTyping(ptv, DefaultTyping.NON_FINAL);","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" public void loadTasks() {","lastModifiedDate":"2023-08-28"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" Path filePath \u003d Paths.get(\"tasks.json\");","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" String content \u003d new String(Files.readAllBytes(filePath));","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" TaskList plist \u003d this.taskMapper.readValue(content, TaskList.class);","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" for (int i \u003d 0; i \u003c plist.size(); i++) {","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":" Task wow \u003d plist.get(i);","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" taskList.add(wow);","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage() + \" not found! No list loaded!\");","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":" // given the original tasklist, save the tasks into a json file","lastModifiedDate":"2023-08-28"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" public void saveTasks() {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" Path filePath \u003d Paths.get(\"tasks.json\");","lastModifiedDate":"2023-08-28"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":" String output \u003d","lastModifiedDate":"2023-08-28"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":" this.taskMapper.writeValueAsString(taskList);","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" Files.write(filePath, output.getBytes());","lastModifiedDate":"2023-08-28"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" } catch (JsonProcessingException ex) {","lastModifiedDate":"2023-08-28"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"something went wrong\");","lastModifiedDate":"2023-08-28"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" } catch (IOException ex) {","lastModifiedDate":"2023-08-28"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Unable to save to file!\");","lastModifiedDate":"2023-08-28"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"SynapseProgramming":72}},{"path":"src/main/java/tasks/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeName;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeName(\"tasks.Deadline\")","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" public static final String taskType \u003d \"D\";","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" private LocalDate deadDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" public Deadline(String desc, LocalDate deaddate) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" super(desc);","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" this.deadDate \u003d deaddate;","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" public Deadline() {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" super(\"\");","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" public String getDeadDate() {","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" return this.deadDate.toString();","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":27}},{"path":"src/main/java/tasks/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeName;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeName(\"tasks.Event\")","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":" public static final String taskType \u003d \"E\";","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" private String startDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" private String endDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" public Event(String desc, String startDate, String endDate) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" super(desc);","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" this.startDate \u003d startDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" this.endDate \u003d endDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" public Event() {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" super(\"\");","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" public String getStartDate() {","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" return this.startDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" public String getEndDate() {","lastModifiedDate":"2023-08-23"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" return this.endDate;","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"SynapseProgramming":33}},{"path":"src/main/java/tasks/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonIgnoreProperties;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonSubTypes;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeInfo;","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"@JsonIgnoreProperties(ignoreUnknown \u003d true)","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeInfo(use \u003d JsonTypeInfo.Id.NAME, include \u003d JsonTypeInfo.As.PROPERTY)","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"@JsonSubTypes({","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" @JsonSubTypes.Type(value \u003d Todo.class, name \u003d \"tasks.Todo\"),","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" @JsonSubTypes.Type(value \u003d Deadline.class, name \u003d \"tasks.Deadline\"),","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" @JsonSubTypes.Type(value \u003d Event.class, name \u003d \"tasks.Event\"),}","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":")","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"public class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" private String description;","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" private Boolean done;","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" public Task(String desc) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" this.description \u003d desc;","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" this.done \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" public void setDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" this.done \u003d true;","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" public void setUnDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" this.done \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" public String getDoneIcon() {","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" return this.done ? \"X\" : \" \";","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" return this.description;","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":42}},{"path":"src/main/java/tasks/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonIgnore;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"public class TaskList {","lastModifiedDate":"2023-08-30"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":" tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" public int size() {","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" return tasks.size();","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" public boolean isEmpty() {","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" return tasks.isEmpty();","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" tasks.add(task);","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" public Task get(int index) {","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" return tasks.get(index);","lastModifiedDate":"2023-08-31"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" @JsonIgnore","lastModifiedDate":"2023-08-31"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" public void remove(int index) {","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" tasks.remove(index);","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"SynapseProgramming":44}},{"path":"src/main/java/tasks/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import com.fasterxml.jackson.annotation.JsonTypeName;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"@JsonTypeName(\"tasks.Todo\")","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":" public static final String taskType \u003d \"T\";","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":" public Todo() {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":" super(\"\");","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":" public Todo(String desc) {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" super(desc);","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"SynapseProgramming":20}},{"path":"src/test/java/io/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package io;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import exceptions.ParserException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.io.ByteArrayInputStream;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import java.io.InputStream;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":" public void parseDeadline_noByStatement_exceptionThrown() {","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":" String input \u003d \"deadline hello test\\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":" InputStream in \u003d new ByteArrayInputStream(input.getBytes());","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" System.setIn(in);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" parser.update();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" } catch (NoSuchElementException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Should not reach here\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":" parser.parseDeadline();","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" fail();","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" System.setIn(System.in);","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" public void parseDeadline_invalidDate_exceptionThrown() {","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":" String input \u003d \"deadline /by somedate\\n\";","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" InputStream in \u003d new ByteArrayInputStream(input.getBytes());","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" System.setIn(in);","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":" parser.update();","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" } catch (NoSuchElementException ex) {","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Should not reach here\");","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"SynapseProgramming"},"content":" parser.parseDeadline();","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"SynapseProgramming"},"content":" fail();","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"SynapseProgramming"},"content":" System.setIn(System.in);","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"SynapseProgramming"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"SynapseProgramming"},"content":" public void parseDeadline_noName_exceptionThrown() {","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"SynapseProgramming"},"content":" String input \u003d \"deadline\\n\";","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"SynapseProgramming"},"content":" InputStream in \u003d new ByteArrayInputStream(input.getBytes());","lastModifiedDate":"2023-09-03"},{"lineNumber":64,"author":{"gitId":"SynapseProgramming"},"content":" System.setIn(in);","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"SynapseProgramming"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"SynapseProgramming"},"content":" parser.update();","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"SynapseProgramming"},"content":" } catch (NoSuchElementException ex) {","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(\"Should not reach here\");","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"SynapseProgramming"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"SynapseProgramming"},"content":" parser.parseDeadline();","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"SynapseProgramming"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"SynapseProgramming"},"content":" } catch (ParserException ex) {","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"SynapseProgramming"},"content":" System.out.println(ex.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"SynapseProgramming"},"content":" System.setIn(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"SynapseProgramming":80}},{"path":"src/test/java/io/UiTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"package io;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"import exceptions.ParserException;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"import java.io.ByteArrayInputStream;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"import java.io.InputStream;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"import java.util.NoSuchElementException;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Event;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"SynapseProgramming"},"content":"import tasks.Todo;","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"SynapseProgramming"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"SynapseProgramming"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"SynapseProgramming"},"content":"public class UiTest {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"SynapseProgramming"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"SynapseProgramming"},"content":" public void displayTask_Deadlineobj_output() {","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"SynapseProgramming"},"content":" LocalDate date \u003d LocalDate.of(2021, 1, 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d \"hello \";","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"SynapseProgramming"},"content":" Deadline input \u003d new Deadline(name, date);","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"SynapseProgramming"},"content":" Ui ui \u003d new Ui();","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"SynapseProgramming"},"content":" String output \u003d ui.displayTask(input);","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"SynapseProgramming"},"content":" assertEquals(\"[D][ ] hello (2021-01-01)\", output);","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"SynapseProgramming"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"SynapseProgramming"},"content":" public void displayTask_Eventobj_output() {","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d \"hello \";","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"SynapseProgramming"},"content":" String start \u003d \"mon\";","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"SynapseProgramming"},"content":" String end \u003d \"sun\";","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"SynapseProgramming"},"content":" Ui ui \u003d new Ui();","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"SynapseProgramming"},"content":" Event input \u003d new Event(name, start, end);","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"SynapseProgramming"},"content":" String output \u003d ui.displayTask(input);","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"SynapseProgramming"},"content":" assertEquals(\"[E][ ] hello (mon to sun)\", output);","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"SynapseProgramming"},"content":" @Test","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"SynapseProgramming"},"content":" public void displayTask_todoobj_output() {","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"SynapseProgramming"},"content":" String name \u003d \"hello \";","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"SynapseProgramming"},"content":" Ui ui \u003d new Ui();","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"SynapseProgramming"},"content":" Todo input \u003d new Todo(name);","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"SynapseProgramming"},"content":" String output \u003d ui.displayTask(input);","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"SynapseProgramming"},"content":" assertEquals(\"[T][ ] hello \", output);","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"SynapseProgramming"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"SynapseProgramming"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"SynapseProgramming"},"content":"}","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"SynapseProgramming":49}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"SynapseProgramming"},"content":"todo hello","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"SynapseProgramming"},"content":"deadline world /by thursday","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"SynapseProgramming"},"content":"event find bunnies /from monday /to sunday","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"SynapseProgramming"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"SynapseProgramming"},"content":"mark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"SynapseProgramming"},"content":"mark 2","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"SynapseProgramming"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"SynapseProgramming"},"content":"unmark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"SynapseProgramming"},"content":"list","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"SynapseProgramming":9}},{"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":"-"},"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":"SynapseProgramming"},"content":"#dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2023-08-23"},{"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":{"SynapseProgramming":1,"-":37}}] diff --git a/SynapseProgramming_ip_master/commits.json b/SynapseProgramming_ip_master/commits.json index 94da39c5..a9bac6c0 100644 --- a/SynapseProgramming_ip_master/commits.json +++ b/SynapseProgramming_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"SynapseProgramming":[{"date":"2023-08-21","commitResults":[{"hash":"734a66800a1df6236875b7d340187a4d5e918bfe","isMergeCommit":false,"messageTitle":"Added in initial greetings","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":8}}},{"hash":"906971659ddfe81607794f4e89bd46692972f870","isMergeCommit":false,"messageTitle":"Added in echo function","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"e5e7fb40ea3aeb4902e5d65d2aad7d7b058d7e88","isMergeCommit":false,"messageTitle":"Completed level-2 feature","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}}]},{"date":"2023-08-22","commitResults":[{"hash":"e9d07fa464a9267f944bb1254313e40713c7cad8","isMergeCommit":false,"messageTitle":"Added in mark command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"65fd77b4402c45ec1529d4b55ef40bd9e999c1c5","isMergeCommit":false,"messageTitle":"Modified input string parsing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":5}}},{"hash":"9d65caaa1d0ab01b17b1b023e7d60477dd74c249","isMergeCommit":false,"messageTitle":"Added in Task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":0}}},{"hash":"91ac6f7cac3abec473eecb9f8c38d15212f305c1","isMergeCommit":false,"messageTitle":"Renamed userInputs array as taskList. Added in task marking","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":5}}},{"hash":"9cd8e335d38bf156320db24a0f7e23bfb7398f35","isMergeCommit":false,"messageTitle":"Added in unmark function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}},{"hash":"e351321deeb8f26d7602e6fc3020bbdf207ff41f","isMergeCommit":false,"messageTitle":"Converted if-else chain to switch statement","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":30}}},{"hash":"620b1af2da7c57936d317d3a5d3f0318e0631722","isMergeCommit":false,"messageTitle":"Added in todo command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"83be3198a5ffd93689fa4eb487c57265548744f2","isMergeCommit":false,"messageTitle":"Added in Todo class to represent Todo event","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"92dec94f9625383f281bbb87a6c4522ba8b9b34f","isMergeCommit":false,"messageTitle":"Added in UiFormatter class for formatting objects of type Task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":0}}},{"hash":"1ddf9793afc436d1e886522bae0ac4095eb9cb7d","isMergeCommit":false,"messageTitle":"completed \"todo\" command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":2}}},{"hash":"8ab10ba94c203b040a848338a9cb5c97e2c25a62","isMergeCommit":false,"messageTitle":"removed default add task, and changed print statements to use UiFormatter","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":8}}},{"hash":"aa02ffab6a8fc825b0fe43957b88d18a9e27f79f","isMergeCommit":false,"messageTitle":"Added in Deadline class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"5fd772a81b82f76f518667a986b44cc116ed49da","isMergeCommit":false,"messageTitle":"Added in formatting for Deadline objects","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"b293421d5f689a97effefd3e5193e4f0fa0106b6","isMergeCommit":false,"messageTitle":"Added in deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"9f639de3829c1e5d8daa94b76289f53fd8bb8827","isMergeCommit":false,"messageTitle":"Added in Event class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":0}}},{"hash":"16cb6b6ff32d7ee3a8fb214014345da0b3ac0f42","isMergeCommit":false,"messageTitle":"Added in Event class to displayTask function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"b4af2cfbc1a3798dc7b61b99305ba167214ffff2","isMergeCommit":false,"messageTitle":"Added in Event command","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":0}}},{"hash":"f7fc11bccf2470470153ead65edf3e1bb13ffabf","isMergeCommit":false,"messageTitle":"Added in input testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0},"sh":{"insertions":1,"deletions":1}}},{"hash":"3dfb3a8d2af0b759fd94f36cd45c3a6f542fe518","isMergeCommit":false,"messageTitle":"Added in exception handling for mark and unmark commands","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":15}}},{"hash":"b7384cda1177eb094be86459b0dafe6c8dd29a64","isMergeCommit":false,"messageTitle":"Added in exception handling for end of line","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":2}}},{"hash":"83f297976e48dc683d69a7eb4316b1d58866e41e","isMergeCommit":false,"messageTitle":"Added in empty list check for list command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"510c9eb7cc9b6597ecfde7ee57cd757b2ac5521a","isMergeCommit":false,"messageTitle":"Added in exception handling for todo command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":5}}},{"hash":"4ffd55777519714e535bf0dbc71fbc2edbda4a52","isMergeCommit":false,"messageTitle":"Added in exception handling for deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":8}}},{"hash":"4f50adf72971fe54e1d8bc70e552839dd0bbcbdd","isMergeCommit":false,"messageTitle":"Added in exception handling for event command","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":13}}}]},{"date":"2023-08-24","commitResults":[{"hash":"1036360dc848b827a9715eb065dd553142e91bd3","isMergeCommit":false,"messageTitle":"Added in case for deleting entries from the list","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":1}}},{"hash":"752aa3b6d4346be95f552c85d0f819f2e197a538","isMergeCommit":true,"messageTitle":"Merge pull request #1 from SynapseProgramming/devel","messageBody":"Completed week 2 tasks","fileTypesAndContributionMap":{}}]},{"date":"2023-08-27","commitResults":[{"hash":"2d7c02079abf478b3a10917dfb40497639bbcdfc","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 into branch-Level-7","messageBody":"* add-gradle-support:\n Bump gradle and lib version\n Add Gradle support\n","fileTypesAndContributionMap":{}},{"hash":"1266a00de68a2ebbf6eed26d0c113898ffc185a0","isMergeCommit":false,"messageTitle":"Add json library as a dependency","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":3,"deletions":0}}}]},{"date":"2023-08-28","commitResults":[{"hash":"0fff40c39e33eda6cb5128e0fbaeca0bb7ac383c","isMergeCommit":false,"messageTitle":"Add in Tasklistloader class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":0}}},{"hash":"70d745c2f027557ec2b2be6c48e7489a76e5e04f","isMergeCommit":false,"messageTitle":"Add in test json file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"c6fc339d09b52a1d052298b0661cac1287a9b470","isMergeCommit":false,"messageTitle":"Enable polymorphism for json Task parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"f377b3ee66bf57e0d94469c0635e8431f37d4f0d","isMergeCommit":false,"messageTitle":"Modify description field of Task class to private","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"2eb3e1fc0a4795485cb56b7ae643a4dd7b7d21d2","isMergeCommit":false,"messageTitle":"Fix missing fields in json file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":10}}},{"hash":"b398d003fe7df0da2741936c0457209da5a806ef","isMergeCommit":false,"messageTitle":"Modify access of description class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":3}}},{"hash":"b20bd5f86f411316f1ad75b80fa165a683db7249","isMergeCommit":false,"messageTitle":"Add in first working json serializing/ deserializing attempt","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":6}}}]},{"date":"2023-08-29","commitResults":[{"hash":"e08b009480795a21fe0823f50d2d829cae7799d1","isMergeCommit":false,"messageTitle":"Remove commented code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":6}}},{"hash":"2a1935e939be676b75fc53ce23cfa9df0738f3ab","isMergeCommit":false,"messageTitle":"Code linting","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":2}}},{"hash":"92394c7d2fced822bd88623fd5207ab11945ef07","isMergeCommit":false,"messageTitle":"Add in empty constructor required by Jackson library","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"69676dee55f0afd869e5f3f2aedbbfd505f9497d","isMergeCommit":false,"messageTitle":"Remove unused headers and comments","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":6}}},{"hash":"d95bb5c643b50464caa5007ea04d5740e4fa3299","isMergeCommit":false,"messageTitle":"Fix class field visibility for Jackon. \u0026 Save previous data to arraylist","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":6}}},{"hash":"f3a868d0274eb1decbfae1f6fa5bb35112e0369b","isMergeCommit":false,"messageTitle":"change done to boolean object type","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"324ebe865d995928cf332233a26a509abd06aa4d","isMergeCommit":false,"messageTitle":"Remove print test statements and commented code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":8}}},{"hash":"4a80709181364571e0168a46829b97533a129229","isMergeCommit":false,"messageTitle":"Place save tasks function to end of main function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":2}}},{"hash":"3698ca926892b8285891af0b7e0dc828aeaf320f","isMergeCommit":false,"messageTitle":"Add in more verbose warning for ( tasks.json not found)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"ba398b9a123f7884d851e863d362c81eb4713df4","isMergeCommit":true,"messageTitle":"Merge pull request #2 from SynapseProgramming/branch-Level-7","messageBody":"Add task save to json file","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"3ba4a4eab3258662c2252648cecc66bd0dce231e","isMergeCommit":false,"messageTitle":"Add DeadTime support for parser","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":2,"deletions":0}}},{"hash":"b897a1d62d667622cb8b1d25d2f1aa59dde31d5b","isMergeCommit":false,"messageTitle":"Change date field to LocalDate type for Deadline class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":3}}},{"hash":"3e9087a23fbcd5d43065d4fffda87f9eec0c5534","isMergeCommit":false,"messageTitle":"Add in string formatting to Localdate type for deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}},{"hash":"9f48ef4302046558dbbcc9158205b9df671b12e5","isMergeCommit":false,"messageTitle":"Remove toto and test print statements","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":3}}}]},{"date":"2023-08-30","commitResults":[{"hash":"6b5795d7bec7377c450d7fe598e725cad8f81365","isMergeCommit":true,"messageTitle":"Merge pull request #3 from SynapseProgramming/branch-Level-8","messageBody":"Change deaddate field from string type to Date type","fileTypesAndContributionMap":{}},{"hash":"9b52c284edf6ef1cd0d20f61ce765ecfbcea8676","isMergeCommit":false,"messageTitle":"Rename ReceivedTasks to TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":4}}},{"hash":"2f6b44637381a727654f17c896dde388c8a524a3","isMergeCommit":false,"messageTitle":"Rename Tasklistloader to Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5}}},{"hash":"da38f669d42ab65d7285369fa46c06d15689776e","isMergeCommit":false,"messageTitle":"Add in initial parser class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":3}}},{"hash":"dd800a99683fe8befd595700ff1519f066c29212","isMergeCommit":false,"messageTitle":"Remove commented code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":3}}},{"hash":"a18874ba037f99f786701e76b5986c65ddfc7b63","isMergeCommit":false,"messageTitle":"Add in getIndex function into parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":3}}},{"hash":"464bef9d7c370ad376e29c090f339ed8aa22029d","isMergeCommit":false,"messageTitle":"Add in getIndex function call for unmark command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":4}}},{"hash":"4046fa9ff61272777cee50af8afd21ff1aa8526b","isMergeCommit":false,"messageTitle":"Add in getCommandString function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":3}}},{"hash":"35180aace669e8020de7bbb32d9ad7c3c968faab","isMergeCommit":false,"messageTitle":"Added in getTaskName function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":3}}},{"hash":"7188f53999b3ffefcd0c0386162e77fc1d22cde1","isMergeCommit":false,"messageTitle":"Add getTask name for deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":4}}},{"hash":"5bcff6a3541b6f6d87e49873cd8ddaa7a0aca353","isMergeCommit":false,"messageTitle":"Add in getIndex for remove command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":4}}},{"hash":"4a128f3d79cc66ec46603cd56813f0d89be72932","isMergeCommit":false,"messageTitle":"Rename class UiFormatter to Ui","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}},{"hash":"01be0b0055ba8d9056023e0c9e38d972116f2f22","isMergeCommit":false,"messageTitle":"Remove unused variables","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":4}}},{"hash":"1d6e13df250200e2ddf55aa9f338bceac51ce774","isMergeCommit":false,"messageTitle":"Remove unused variables and added in isInputThere function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}}]},{"date":"2023-08-31","commitResults":[{"hash":"30bd3d7a44eff74e25409f5a25ae3841ff59f3c5","isMergeCommit":false,"messageTitle":"Change TaskList to be the main array for storing tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":1}}},{"hash":"71e2efa0d6657523bd080cd4abb3c1aee80cc19f","isMergeCommit":false,"messageTitle":"Change Storage class to handle tasklist","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}},{"hash":"aa108eda1e195da71c572621dc86266918b6b104","isMergeCommit":false,"messageTitle":"Change taskList to be of type TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"3a9c099fd39053832ada868e4223c4c98dcf3736","isMergeCommit":false,"messageTitle":"Code refactor for main function","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":7}}},{"hash":"fa1ab0e59cb651b46cea113dfaad4b8d62aa59ec","isMergeCommit":true,"messageTitle":"Merge pull request #4 from SynapseProgramming/devel","messageBody":"Completed more OOP part. ","fileTypesAndContributionMap":{}}]},{"date":"2023-09-02","commitResults":[{"hash":"f6705ed98b28f1a46f9dad4dfa6998e2a049f905","isMergeCommit":false,"messageTitle":"Move all task related classes to tasks package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":14}}},{"hash":"2309f470fabae1595144ec85eca5afb9e33c9cda","isMergeCommit":false,"messageTitle":"change import to get task related stuff from task package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":2}}},{"hash":"ad2fe54155287debe70696bff272777fe3fc7f3b","isMergeCommit":false,"messageTitle":"Move storage class to storage package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"a07be856e12d4c437fb07c44e0858f0d8be80ade","isMergeCommit":false,"messageTitle":"Move parser and ui class to io folder","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"a4e7879c6857e98a46cc5f2728b39a34cd7d66a1","isMergeCommit":false,"messageTitle":"update main duke class to import classes from the new packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"c12182c7ba714c38c984bab411aeef083e1093bd","isMergeCommit":true,"messageTitle":"Merge pull request #5 from SynapseProgramming/devel","messageBody":"Organised code into packages","fileTypesAndContributionMap":{}},{"hash":"8320b341347136090649c49b0a88b298b9254848","isMergeCommit":false,"messageTitle":"add in parseDeadline function, which handles parsing for deadline command.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":0}}},{"hash":"345646bf4b6eff362895be5a7a7bc562782f9535","isMergeCommit":false,"messageTitle":"Add in custom exception for Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"2fb7cecc46cf5b931e1d36a1df96e5e0859f8880","isMergeCommit":false,"messageTitle":"Integrate parser exception for parseDeadline function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":23}}},{"hash":"89d4f03a182a763c2ec530118691af30d91d66b7","isMergeCommit":false,"messageTitle":"Add in parseEvent function and modified duke run function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":16}}},{"hash":"91413a691b7b0624e76b68545338011226ef2bb4","isMergeCommit":false,"messageTitle":"Remove unused headers","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":5}}},{"hash":"467b51b3e234158d71d374ef83e6619945377c6d","isMergeCommit":false,"messageTitle":"Add in display greetings function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":5}}},{"hash":"9c5bec3db52e0ed11fd5c7848c63c5b13a388b85","isMergeCommit":false,"messageTitle":"Add in display action function to ui class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"d7b2d951c06f4f69f673e489e967d2dd1a478cb2","isMergeCommit":false,"messageTitle":"Change print + action statements to use displayAction function.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":7}}},{"hash":"670c19e4d82476a4c820f8fc404725b5d5afa023","isMergeCommit":false,"messageTitle":"Add in displayGoodbye function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":2}}},{"hash":"0b39d9f2a086d95d4a1cbc7cb53729464aa3c40c","isMergeCommit":false,"messageTitle":"Add listTasks function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":14}}},{"hash":"498cd6094626414d8c859d6c9beab03286a89153","isMergeCommit":false,"messageTitle":"Add markTaskAsDone function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":9}}},{"hash":"f3cd9c5aad1815d7ab8b3df43a0846b35b62e562","isMergeCommit":false,"messageTitle":"Add unmarkTask function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":11}}},{"hash":"58fb305dc4e76b9bf28dbf12b1a1a40d5c18cb13","isMergeCommit":false,"messageTitle":"Add in addTodo function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":9}}},{"hash":"889a7fba03e370471325bfd55b9b06df25cc0279","isMergeCommit":false,"messageTitle":"Add in addDeadline function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":9}}},{"hash":"d1b027f36f7aae60ab81929a53622e75c2d1bb2e","isMergeCommit":false,"messageTitle":"Add in addEvent function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":7}}},{"hash":"2bca407321382cb38efc66688d9840d0243a7a91","isMergeCommit":false,"messageTitle":"Add in deleteTask function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":14}}},{"hash":"431cdc261810c43551c6c0241aa43f3b6047bc81","isMergeCommit":true,"messageTitle":"Merge pull request #6 from SynapseProgramming/devel","messageBody":"Code Refactoring and custom exceptions","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"SynapseProgramming":{"java":599,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":3,"txt":9}},"authorContributionVariance":{"SynapseProgramming":12483.557},"authorDisplayNameMap":{"SynapseProgramming":"CS2103T-W10-3 ONG ..OALD"}} +{"authorDailyContributionsMap":{"SynapseProgramming":[{"date":"2023-08-21","commitResults":[{"hash":"734a66800a1df6236875b7d340187a4d5e918bfe","isMergeCommit":false,"messageTitle":"Added in initial greetings","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":8}}},{"hash":"906971659ddfe81607794f4e89bd46692972f870","isMergeCommit":false,"messageTitle":"Added in echo function","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"e5e7fb40ea3aeb4902e5d65d2aad7d7b058d7e88","isMergeCommit":false,"messageTitle":"Completed level-2 feature","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}}]},{"date":"2023-08-22","commitResults":[{"hash":"e9d07fa464a9267f944bb1254313e40713c7cad8","isMergeCommit":false,"messageTitle":"Added in mark command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"65fd77b4402c45ec1529d4b55ef40bd9e999c1c5","isMergeCommit":false,"messageTitle":"Modified input string parsing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":5}}},{"hash":"9d65caaa1d0ab01b17b1b023e7d60477dd74c249","isMergeCommit":false,"messageTitle":"Added in Task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":0}}},{"hash":"91ac6f7cac3abec473eecb9f8c38d15212f305c1","isMergeCommit":false,"messageTitle":"Renamed userInputs array as taskList. Added in task marking","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":5}}},{"hash":"9cd8e335d38bf156320db24a0f7e23bfb7398f35","isMergeCommit":false,"messageTitle":"Added in unmark function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}},{"hash":"e351321deeb8f26d7602e6fc3020bbdf207ff41f","isMergeCommit":false,"messageTitle":"Converted if-else chain to switch statement","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":30}}},{"hash":"620b1af2da7c57936d317d3a5d3f0318e0631722","isMergeCommit":false,"messageTitle":"Added in todo command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"83be3198a5ffd93689fa4eb487c57265548744f2","isMergeCommit":false,"messageTitle":"Added in Todo class to represent Todo event","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"92dec94f9625383f281bbb87a6c4522ba8b9b34f","isMergeCommit":false,"messageTitle":"Added in UiFormatter class for formatting objects of type Task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":0}}},{"hash":"1ddf9793afc436d1e886522bae0ac4095eb9cb7d","isMergeCommit":false,"messageTitle":"completed \"todo\" command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":2}}},{"hash":"8ab10ba94c203b040a848338a9cb5c97e2c25a62","isMergeCommit":false,"messageTitle":"removed default add task, and changed print statements to use UiFormatter","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":8}}},{"hash":"aa02ffab6a8fc825b0fe43957b88d18a9e27f79f","isMergeCommit":false,"messageTitle":"Added in Deadline class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"5fd772a81b82f76f518667a986b44cc116ed49da","isMergeCommit":false,"messageTitle":"Added in formatting for Deadline objects","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"b293421d5f689a97effefd3e5193e4f0fa0106b6","isMergeCommit":false,"messageTitle":"Added in deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"9f639de3829c1e5d8daa94b76289f53fd8bb8827","isMergeCommit":false,"messageTitle":"Added in Event class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":0}}},{"hash":"16cb6b6ff32d7ee3a8fb214014345da0b3ac0f42","isMergeCommit":false,"messageTitle":"Added in Event class to displayTask function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"b4af2cfbc1a3798dc7b61b99305ba167214ffff2","isMergeCommit":false,"messageTitle":"Added in Event command","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":0}}},{"hash":"f7fc11bccf2470470153ead65edf3e1bb13ffabf","isMergeCommit":false,"messageTitle":"Added in input testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0},"sh":{"insertions":1,"deletions":1}}},{"hash":"3dfb3a8d2af0b759fd94f36cd45c3a6f542fe518","isMergeCommit":false,"messageTitle":"Added in exception handling for mark and unmark commands","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":15}}},{"hash":"b7384cda1177eb094be86459b0dafe6c8dd29a64","isMergeCommit":false,"messageTitle":"Added in exception handling for end of line","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":2}}},{"hash":"83f297976e48dc683d69a7eb4316b1d58866e41e","isMergeCommit":false,"messageTitle":"Added in empty list check for list command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"510c9eb7cc9b6597ecfde7ee57cd757b2ac5521a","isMergeCommit":false,"messageTitle":"Added in exception handling for todo command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":5}}},{"hash":"4ffd55777519714e535bf0dbc71fbc2edbda4a52","isMergeCommit":false,"messageTitle":"Added in exception handling for deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":8}}},{"hash":"4f50adf72971fe54e1d8bc70e552839dd0bbcbdd","isMergeCommit":false,"messageTitle":"Added in exception handling for event command","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":13}}}]},{"date":"2023-08-24","commitResults":[{"hash":"1036360dc848b827a9715eb065dd553142e91bd3","isMergeCommit":false,"messageTitle":"Added in case for deleting entries from the list","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":1}}},{"hash":"752aa3b6d4346be95f552c85d0f819f2e197a538","isMergeCommit":true,"messageTitle":"Merge pull request #1 from SynapseProgramming/devel","messageBody":"Completed week 2 tasks","fileTypesAndContributionMap":{}}]},{"date":"2023-08-27","commitResults":[{"hash":"2d7c02079abf478b3a10917dfb40497639bbcdfc","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 into branch-Level-7","messageBody":"* add-gradle-support:\n Bump gradle and lib version\n Add Gradle support\n","fileTypesAndContributionMap":{}},{"hash":"1266a00de68a2ebbf6eed26d0c113898ffc185a0","isMergeCommit":false,"messageTitle":"Add json library as a dependency","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":3,"deletions":0}}}]},{"date":"2023-08-28","commitResults":[{"hash":"0fff40c39e33eda6cb5128e0fbaeca0bb7ac383c","isMergeCommit":false,"messageTitle":"Add in Tasklistloader class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":0}}},{"hash":"70d745c2f027557ec2b2be6c48e7489a76e5e04f","isMergeCommit":false,"messageTitle":"Add in test json file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"c6fc339d09b52a1d052298b0661cac1287a9b470","isMergeCommit":false,"messageTitle":"Enable polymorphism for json Task parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"f377b3ee66bf57e0d94469c0635e8431f37d4f0d","isMergeCommit":false,"messageTitle":"Modify description field of Task class to private","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"2eb3e1fc0a4795485cb56b7ae643a4dd7b7d21d2","isMergeCommit":false,"messageTitle":"Fix missing fields in json file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":10}}},{"hash":"b398d003fe7df0da2741936c0457209da5a806ef","isMergeCommit":false,"messageTitle":"Modify access of description class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":3}}},{"hash":"b20bd5f86f411316f1ad75b80fa165a683db7249","isMergeCommit":false,"messageTitle":"Add in first working json serializing/ deserializing attempt","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":6}}}]},{"date":"2023-08-29","commitResults":[{"hash":"e08b009480795a21fe0823f50d2d829cae7799d1","isMergeCommit":false,"messageTitle":"Remove commented code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":6}}},{"hash":"2a1935e939be676b75fc53ce23cfa9df0738f3ab","isMergeCommit":false,"messageTitle":"Code linting","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":2}}},{"hash":"92394c7d2fced822bd88623fd5207ab11945ef07","isMergeCommit":false,"messageTitle":"Add in empty constructor required by Jackson library","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"69676dee55f0afd869e5f3f2aedbbfd505f9497d","isMergeCommit":false,"messageTitle":"Remove unused headers and comments","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":6}}},{"hash":"d95bb5c643b50464caa5007ea04d5740e4fa3299","isMergeCommit":false,"messageTitle":"Fix class field visibility for Jackon. \u0026 Save previous data to arraylist","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":6}}},{"hash":"f3a868d0274eb1decbfae1f6fa5bb35112e0369b","isMergeCommit":false,"messageTitle":"change done to boolean object type","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"324ebe865d995928cf332233a26a509abd06aa4d","isMergeCommit":false,"messageTitle":"Remove print test statements and commented code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":8}}},{"hash":"4a80709181364571e0168a46829b97533a129229","isMergeCommit":false,"messageTitle":"Place save tasks function to end of main function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":2}}},{"hash":"3698ca926892b8285891af0b7e0dc828aeaf320f","isMergeCommit":false,"messageTitle":"Add in more verbose warning for ( tasks.json not found)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"ba398b9a123f7884d851e863d362c81eb4713df4","isMergeCommit":true,"messageTitle":"Merge pull request #2 from SynapseProgramming/branch-Level-7","messageBody":"Add task save to json file","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"3ba4a4eab3258662c2252648cecc66bd0dce231e","isMergeCommit":false,"messageTitle":"Add DeadTime support for parser","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":2,"deletions":0}}},{"hash":"b897a1d62d667622cb8b1d25d2f1aa59dde31d5b","isMergeCommit":false,"messageTitle":"Change date field to LocalDate type for Deadline class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":3}}},{"hash":"3e9087a23fbcd5d43065d4fffda87f9eec0c5534","isMergeCommit":false,"messageTitle":"Add in string formatting to Localdate type for deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}},{"hash":"9f48ef4302046558dbbcc9158205b9df671b12e5","isMergeCommit":false,"messageTitle":"Remove toto and test print statements","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":3}}}]},{"date":"2023-08-30","commitResults":[{"hash":"6b5795d7bec7377c450d7fe598e725cad8f81365","isMergeCommit":true,"messageTitle":"Merge pull request #3 from SynapseProgramming/branch-Level-8","messageBody":"Change deaddate field from string type to Date type","fileTypesAndContributionMap":{}},{"hash":"9b52c284edf6ef1cd0d20f61ce765ecfbcea8676","isMergeCommit":false,"messageTitle":"Rename ReceivedTasks to TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":4}}},{"hash":"2f6b44637381a727654f17c896dde388c8a524a3","isMergeCommit":false,"messageTitle":"Rename Tasklistloader to Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5}}},{"hash":"da38f669d42ab65d7285369fa46c06d15689776e","isMergeCommit":false,"messageTitle":"Add in initial parser class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":3}}},{"hash":"dd800a99683fe8befd595700ff1519f066c29212","isMergeCommit":false,"messageTitle":"Remove commented code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":3}}},{"hash":"a18874ba037f99f786701e76b5986c65ddfc7b63","isMergeCommit":false,"messageTitle":"Add in getIndex function into parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":3}}},{"hash":"464bef9d7c370ad376e29c090f339ed8aa22029d","isMergeCommit":false,"messageTitle":"Add in getIndex function call for unmark command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":4}}},{"hash":"4046fa9ff61272777cee50af8afd21ff1aa8526b","isMergeCommit":false,"messageTitle":"Add in getCommandString function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":3}}},{"hash":"35180aace669e8020de7bbb32d9ad7c3c968faab","isMergeCommit":false,"messageTitle":"Added in getTaskName function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":3}}},{"hash":"7188f53999b3ffefcd0c0386162e77fc1d22cde1","isMergeCommit":false,"messageTitle":"Add getTask name for deadline command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":4}}},{"hash":"5bcff6a3541b6f6d87e49873cd8ddaa7a0aca353","isMergeCommit":false,"messageTitle":"Add in getIndex for remove command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":4}}},{"hash":"4a128f3d79cc66ec46603cd56813f0d89be72932","isMergeCommit":false,"messageTitle":"Rename class UiFormatter to Ui","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}},{"hash":"01be0b0055ba8d9056023e0c9e38d972116f2f22","isMergeCommit":false,"messageTitle":"Remove unused variables","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":4}}},{"hash":"1d6e13df250200e2ddf55aa9f338bceac51ce774","isMergeCommit":false,"messageTitle":"Remove unused variables and added in isInputThere function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}}]},{"date":"2023-08-31","commitResults":[{"hash":"30bd3d7a44eff74e25409f5a25ae3841ff59f3c5","isMergeCommit":false,"messageTitle":"Change TaskList to be the main array for storing tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":1}}},{"hash":"71e2efa0d6657523bd080cd4abb3c1aee80cc19f","isMergeCommit":false,"messageTitle":"Change Storage class to handle tasklist","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}},{"hash":"aa108eda1e195da71c572621dc86266918b6b104","isMergeCommit":false,"messageTitle":"Change taskList to be of type TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"3a9c099fd39053832ada868e4223c4c98dcf3736","isMergeCommit":false,"messageTitle":"Code refactor for main function","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":7}}},{"hash":"fa1ab0e59cb651b46cea113dfaad4b8d62aa59ec","isMergeCommit":true,"messageTitle":"Merge pull request #4 from SynapseProgramming/devel","messageBody":"Completed more OOP part. ","fileTypesAndContributionMap":{}}]},{"date":"2023-09-02","commitResults":[{"hash":"f6705ed98b28f1a46f9dad4dfa6998e2a049f905","isMergeCommit":false,"messageTitle":"Move all task related classes to tasks package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":14}}},{"hash":"2309f470fabae1595144ec85eca5afb9e33c9cda","isMergeCommit":false,"messageTitle":"change import to get task related stuff from task package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":2}}},{"hash":"ad2fe54155287debe70696bff272777fe3fc7f3b","isMergeCommit":false,"messageTitle":"Move storage class to storage package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"a07be856e12d4c437fb07c44e0858f0d8be80ade","isMergeCommit":false,"messageTitle":"Move parser and ui class to io folder","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"a4e7879c6857e98a46cc5f2728b39a34cd7d66a1","isMergeCommit":false,"messageTitle":"update main duke class to import classes from the new packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"c12182c7ba714c38c984bab411aeef083e1093bd","isMergeCommit":true,"messageTitle":"Merge pull request #5 from SynapseProgramming/devel","messageBody":"Organised code into packages","fileTypesAndContributionMap":{}},{"hash":"8320b341347136090649c49b0a88b298b9254848","isMergeCommit":false,"messageTitle":"add in parseDeadline function, which handles parsing for deadline command.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":0}}},{"hash":"345646bf4b6eff362895be5a7a7bc562782f9535","isMergeCommit":false,"messageTitle":"Add in custom exception for Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"2fb7cecc46cf5b931e1d36a1df96e5e0859f8880","isMergeCommit":false,"messageTitle":"Integrate parser exception for parseDeadline function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":23}}},{"hash":"89d4f03a182a763c2ec530118691af30d91d66b7","isMergeCommit":false,"messageTitle":"Add in parseEvent function and modified duke run function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":16}}},{"hash":"91413a691b7b0624e76b68545338011226ef2bb4","isMergeCommit":false,"messageTitle":"Remove unused headers","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":5}}},{"hash":"467b51b3e234158d71d374ef83e6619945377c6d","isMergeCommit":false,"messageTitle":"Add in display greetings function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":5}}},{"hash":"9c5bec3db52e0ed11fd5c7848c63c5b13a388b85","isMergeCommit":false,"messageTitle":"Add in display action function to ui class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"d7b2d951c06f4f69f673e489e967d2dd1a478cb2","isMergeCommit":false,"messageTitle":"Change print + action statements to use displayAction function.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":7}}},{"hash":"670c19e4d82476a4c820f8fc404725b5d5afa023","isMergeCommit":false,"messageTitle":"Add in displayGoodbye function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":2}}},{"hash":"0b39d9f2a086d95d4a1cbc7cb53729464aa3c40c","isMergeCommit":false,"messageTitle":"Add listTasks function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":14}}},{"hash":"498cd6094626414d8c859d6c9beab03286a89153","isMergeCommit":false,"messageTitle":"Add markTaskAsDone function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":9}}},{"hash":"f3cd9c5aad1815d7ab8b3df43a0846b35b62e562","isMergeCommit":false,"messageTitle":"Add unmarkTask function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":11}}},{"hash":"58fb305dc4e76b9bf28dbf12b1a1a40d5c18cb13","isMergeCommit":false,"messageTitle":"Add in addTodo function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":9}}},{"hash":"889a7fba03e370471325bfd55b9b06df25cc0279","isMergeCommit":false,"messageTitle":"Add in addDeadline function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":9}}},{"hash":"d1b027f36f7aae60ab81929a53622e75c2d1bb2e","isMergeCommit":false,"messageTitle":"Add in addEvent function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":7}}},{"hash":"2bca407321382cb38efc66688d9840d0243a7a91","isMergeCommit":false,"messageTitle":"Add in deleteTask function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":14}}},{"hash":"431cdc261810c43551c6c0241aa43f3b6047bc81","isMergeCommit":true,"messageTitle":"Merge pull request #6 from SynapseProgramming/devel","messageBody":"Code Refactoring and custom exceptions","fileTypesAndContributionMap":{}},{"hash":"470a2dd4ff32d59b48f72826d6d2be87597b0707","isMergeCommit":false,"messageTitle":"Add in J-unit test case for parseEvent function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":0}}}]},{"date":"2023-09-03","commitResults":[{"hash":"8c7ade6fce485cea34abb51ac261d8f0748e3d48","isMergeCommit":false,"messageTitle":"Add in additional tests for parseDeadline function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":2}}},{"hash":"cdc1181daac42f76d05adb37913359f658f643a0","isMergeCommit":false,"messageTitle":"Add in UiTest test file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":0}}},{"hash":"094a8fb32b8b68a1cbb2ea0ed62bdde94a3ea48b","isMergeCommit":false,"messageTitle":"Add in additional tests for displayTask function","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":0}}},{"hash":"6db809212d4e3d7c9510c8ba4b9966ce3c4e19a1","isMergeCommit":true,"messageTitle":"Merge pull request #7 from SynapseProgramming/devel","messageBody":"Add in J-unit tests","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"SynapseProgramming":{"java":728,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":3,"txt":9}},"authorContributionVariance":{"SynapseProgramming":13122.968},"authorDisplayNameMap":{"SynapseProgramming":"CS2103T-W10-3 ONG ..OALD"}} diff --git a/andytoh1_ip_master/authorship.json b/andytoh1_ip_master/authorship.json index a32c7daf..f398f017 100644 --- a/andytoh1_ip_master/authorship.json +++ b/andytoh1_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Chatbot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andytoh1"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"andytoh1"},"content":"public class Chatbot {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"andytoh1"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"andytoh1"},"content":" String[] messageList \u003d new String[100];","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"andytoh1"},"content":" boolean[] messageDone \u003d new boolean[100];","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"andytoh1"},"content":" char[] messageType \u003d new char[100];","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"andytoh1"},"content":" int messageCount \u003d 0;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"andytoh1"},"content":" Scanner userInput \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Hello! I\u0027m Chatbot!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"andytoh1"},"content":" while (true) {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"andytoh1"},"content":" String userMessage \u003d userInput.nextLine();","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"andytoh1"},"content":" if (userMessage.equalsIgnoreCase(\"bye\")) break;","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"andytoh1"},"content":" if (userMessage.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"andytoh1"},"content":" for (int i \u003d 0; i \u003c messageCount; i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"andytoh1"},"content":" int listNumber \u003d i + 1;","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"andytoh1"},"content":" System.out.print(listNumber + \". \");","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[\" + messageType[i] + \"]\");","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"andytoh1"},"content":" if (messageDone[i]) System.out.print(\"[X] \");","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"andytoh1"},"content":" else System.out.print(\"[ ] \");","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"andytoh1"},"content":" System.out.println(messageList[i]);","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"andytoh1"},"content":" if (userMessage.substring(0, 6).equalsIgnoreCase(\"delete\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"andytoh1"},"content":" int removeTask \u003d Integer.parseInt(userMessage.substring(7)) - 1;","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"This task will be removed!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[\" + messageType[removeTask] + \"]\" + \"[\");","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"andytoh1"},"content":" if (messageDone[removeTask]) System.out.print(\"[X] \");","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"andytoh1"},"content":" else System.out.print(\"[ ] \");","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"andytoh1"},"content":" System.out.println(messageList[removeTask]);","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"andytoh1"},"content":" for (int i \u003d removeTask; i \u003c messageCount - 1; i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"andytoh1"},"content":" messageList[i] \u003d messageList[i + 1];","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"andytoh1"},"content":" messageDone[i] \u003d messageDone[i + 1];","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"andytoh1"},"content":" messageType[i] \u003d messageType[i + 1];","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"andytoh1"},"content":" messageCount--;","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"delete \u003ctask number\u003e\\\"!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 4).equalsIgnoreCase(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"andytoh1"},"content":" int doneTask \u003d Integer.parseInt(userMessage.substring(5));","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Well done! This task has been marked as done.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"[\" + messageType[doneTask] + \"]\" + \"[X] \" + messageList[doneTask - 1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"andytoh1"},"content":" messageDone[doneTask - 1] \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"mark \u003ctask number\u003e\\\"!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 4).equalsIgnoreCase(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"andytoh1"},"content":" userMessage \u003d userMessage.substring(5);","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"andytoh1"},"content":" messageType[messageCount] \u003d \u0027T\u0027;","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"todo \u003ctask description\u003e\\\"!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 8).equalsIgnoreCase(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"andytoh1"},"content":" int index \u003d userMessage.indexOf(\"/by\");","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"andytoh1"},"content":" userMessage \u003d userMessage.substring(9, index) + \"(by: \" + userMessage.substring(index + 4) + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"andytoh1"},"content":" messageType[messageCount] \u003d \u0027D\u0027;","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"deadline \u003ctask description\u003e /by \u003ctime\u003e\\\"!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 5).equalsIgnoreCase(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"andytoh1"},"content":" int index \u003d userMessage.indexOf(\"/from\");","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"andytoh1"},"content":" int index2 \u003d userMessage.indexOf(\"/to\");","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"andytoh1"},"content":" userMessage \u003d userMessage.substring(6, index) + \"(from: \" + userMessage.substring(index + 6, index2)","lastModifiedDate":"2023-08-24"},{"lineNumber":80,"author":{"gitId":"andytoh1"},"content":" + \"to: \" + userMessage.substring(index2 + 4) + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":81,"author":{"gitId":"andytoh1"},"content":" messageType[messageCount] \u003d \u0027E\u0027;","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":83,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"event \u003ctask description\u003e /from \u003ctime\u003e /to \u003ctime\u003e\\\"!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":84,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":86,"author":{"gitId":"andytoh1"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"I\u0027m sorry, but I don\u0027t know what that means!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":88,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":89,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":91,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"I\u0027m sorry, but I don\u0027t know what that means!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"andytoh1"},"content":" continue;","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Added this task: \" + \"[\" + messageType[messageCount] + \"] \" + userMessage);","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"andytoh1"},"content":" messageList[messageCount] \u003d userMessage;","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"andytoh1"},"content":" messageCount++;","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"andytoh1"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"andytoh1":100}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"andytoh1"},"content":"adkpqweqwdpaskda","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"andytoh1"},"content":"todo abc","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"andytoh1"},"content":"deadline abc by sunday","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"andytoh1"},"content":"deadline abc /by sunday","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"andytoh1":4}},{"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":"andytoh1"},"content":"java -classpath ..\\bin Chatbot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-27"},{"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":{"andytoh1":1,"-":20}},{"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":"andytoh1"},"content":"java -classpath ../bin Chatbot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-27"},{"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":{"andytoh1":1,"-":37}}] +[{"path":"src/main/java/Chatbot.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andytoh1"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"andytoh1"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"andytoh1"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"andytoh1"},"content":"import java.io.File;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"andytoh1"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"andytoh1"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"andytoh1"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"andytoh1"},"content":"public class Chatbot {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"andytoh1"},"content":" public static class Task {","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"andytoh1"},"content":" private String description;","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"andytoh1"},"content":" private boolean done;","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"andytoh1"},"content":" public Task(String description) {","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"andytoh1"},"content":" this.description \u003d description;","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"andytoh1"},"content":" this.done \u003d false;","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"andytoh1"},"content":" public void markAsDone() {","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"andytoh1"},"content":" this.done \u003d true;","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"andytoh1"},"content":" public void markAsNotDone() {","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"andytoh1"},"content":" this.done \u003d false;","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"andytoh1"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"andytoh1"},"content":" return description;","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"andytoh1"},"content":" public boolean isDone() {","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"andytoh1"},"content":" return done;","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"andytoh1"},"content":" public static class Todo extends Task {","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"andytoh1"},"content":" public Todo(String description) {","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"andytoh1"},"content":" super(description);","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"andytoh1"},"content":" public static class Deadline extends Task {","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"andytoh1"},"content":" private LocalDateTime deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"andytoh1"},"content":" String datePattern \u003d \"MMM-dd-yyyy HH:mm\";","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"andytoh1"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(datePattern);","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"andytoh1"},"content":" public Deadline(String description, LocalDateTime deadline) {","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"andytoh1"},"content":" super(description);","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"andytoh1"},"content":" this.deadline \u003d deadline;","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"andytoh1"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"andytoh1"},"content":" return super.description + \" (by: \" + deadline.format(formatter) + \")\";","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"andytoh1"},"content":" public String getDeadline() {","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"andytoh1"},"content":" return deadline.format(formatter);","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"andytoh1"},"content":" public String getDescriptionWithoutTime() {","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"andytoh1"},"content":" return super.description;","lastModifiedDate":"2023-09-03"},{"lineNumber":64,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"andytoh1"},"content":" public static class Event extends Task {","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"andytoh1"},"content":" private LocalDateTime startTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"andytoh1"},"content":" private LocalDateTime endTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"andytoh1"},"content":" String datePattern \u003d \"MMM-dd-yyyy HH:mm\";","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"andytoh1"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(datePattern);","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"andytoh1"},"content":" public Event(String description, LocalDateTime startTime, LocalDateTime endTime) {","lastModifiedDate":"2023-09-03"},{"lineNumber":75,"author":{"gitId":"andytoh1"},"content":" super(description);","lastModifiedDate":"2023-09-03"},{"lineNumber":76,"author":{"gitId":"andytoh1"},"content":" this.startTime \u003d startTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"andytoh1"},"content":" this.endTime \u003d endTime;","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":80,"author":{"gitId":"andytoh1"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-03"},{"lineNumber":81,"author":{"gitId":"andytoh1"},"content":" String datePattern \u003d \"MMM-dd-yyyy HH:mm\";","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"andytoh1"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(datePattern);","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"andytoh1"},"content":" return super.description + \" (from: \" + startTime.format(formatter) + \" to: \"","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"andytoh1"},"content":" + endTime.format(formatter) + \")\";","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":87,"author":{"gitId":"andytoh1"},"content":" public String getStartTime() {","lastModifiedDate":"2023-09-03"},{"lineNumber":88,"author":{"gitId":"andytoh1"},"content":" return startTime.format(formatter);","lastModifiedDate":"2023-09-03"},{"lineNumber":89,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":90,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":91,"author":{"gitId":"andytoh1"},"content":" public String getEndTime() {","lastModifiedDate":"2023-09-03"},{"lineNumber":92,"author":{"gitId":"andytoh1"},"content":" return endTime.format(formatter);","lastModifiedDate":"2023-09-03"},{"lineNumber":93,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":94,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":95,"author":{"gitId":"andytoh1"},"content":" public String getDescriptionWithoutTime() {","lastModifiedDate":"2023-09-03"},{"lineNumber":96,"author":{"gitId":"andytoh1"},"content":" return super.description;","lastModifiedDate":"2023-09-03"},{"lineNumber":97,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":98,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":99,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":100,"author":{"gitId":"andytoh1"},"content":" public static class Ui {","lastModifiedDate":"2023-09-03"},{"lineNumber":101,"author":{"gitId":"andytoh1"},"content":" public static void startMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":102,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Hello! I\u0027m Chatbot!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":105,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":106,"author":{"gitId":"andytoh1"},"content":" public static void endMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":107,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":108,"author":{"gitId":"andytoh1"},"content":" System.exit(0);","lastModifiedDate":"2023-09-03"},{"lineNumber":109,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":110,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":111,"author":{"gitId":"andytoh1"},"content":" public static void inputErrorMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":112,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"I\u0027m sorry, but I don\u0027t know what that means!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":113,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":114,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":115,"author":{"gitId":"andytoh1"},"content":" public static void formatErrorMessage(String type) {","lastModifiedDate":"2023-09-03"},{"lineNumber":116,"author":{"gitId":"andytoh1"},"content":" switch(type) {","lastModifiedDate":"2023-09-03"},{"lineNumber":117,"author":{"gitId":"andytoh1"},"content":" case \"todo\":","lastModifiedDate":"2023-09-03"},{"lineNumber":118,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"todo \u003ctask description\u003e\\\"!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":119,"author":{"gitId":"andytoh1"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":120,"author":{"gitId":"andytoh1"},"content":" case \"mark\":","lastModifiedDate":"2023-09-03"},{"lineNumber":121,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"mark \u003ctask number\u003e\\\"!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":122,"author":{"gitId":"andytoh1"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":123,"author":{"gitId":"andytoh1"},"content":" case \"delete\":","lastModifiedDate":"2023-09-03"},{"lineNumber":124,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"delete \u003ctask number\u003e\\\"!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":125,"author":{"gitId":"andytoh1"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":126,"author":{"gitId":"andytoh1"},"content":" case \"deadline\":","lastModifiedDate":"2023-09-03"},{"lineNumber":127,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"deadline \u003ctask description\u003e /by DD-MM-YYYY HH:MM\\\"!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":128,"author":{"gitId":"andytoh1"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":129,"author":{"gitId":"andytoh1"},"content":" case \"event\":","lastModifiedDate":"2023-09-03"},{"lineNumber":130,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Please use the format \\\"event \u003ctask description\u003e /from DD-MM-YYYY HH:MM \" + \"/to DD-MM-YYYY HH:MM\\\"!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":131,"author":{"gitId":"andytoh1"},"content":" break;","lastModifiedDate":"2023-09-03"},{"lineNumber":132,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":133,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":134,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":135,"author":{"gitId":"andytoh1"},"content":" public static void listTasks(TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":136,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":137,"author":{"gitId":"andytoh1"},"content":" for (int i \u003d 0; i \u003c taskList.getCount(); i++) {","lastModifiedDate":"2023-09-03"},{"lineNumber":138,"author":{"gitId":"andytoh1"},"content":" int listNumber \u003d i + 1;","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"andytoh1"},"content":" System.out.print(listNumber + \". \");","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(i) instanceof Todo) {","lastModifiedDate":"2023-09-03"},{"lineNumber":141,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[T]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":142,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(i) instanceof Deadline) {","lastModifiedDate":"2023-09-03"},{"lineNumber":143,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[D]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":144,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(i) instanceof Event) {","lastModifiedDate":"2023-09-03"},{"lineNumber":145,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[E]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":146,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":147,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(i).isDone()) System.out.print(\"[X] \");","lastModifiedDate":"2023-09-03"},{"lineNumber":148,"author":{"gitId":"andytoh1"},"content":" else System.out.print(\"[ ] \");","lastModifiedDate":"2023-08-24"},{"lineNumber":149,"author":{"gitId":"andytoh1"},"content":" System.out.println(taskList.getTask(i).getDescription());","lastModifiedDate":"2023-09-03"},{"lineNumber":150,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":153,"author":{"gitId":"andytoh1"},"content":" public static void deleteMessage(int removeTask, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":154,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":155,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"This task will be removed!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":156,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(removeTask) instanceof Todo) {","lastModifiedDate":"2023-09-03"},{"lineNumber":157,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[T]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":158,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(removeTask) instanceof Deadline) {","lastModifiedDate":"2023-09-03"},{"lineNumber":159,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[D]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":160,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(removeTask) instanceof Event) {","lastModifiedDate":"2023-09-03"},{"lineNumber":161,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[E]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":162,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":163,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(removeTask).isDone()) System.out.print(\"[X] \");","lastModifiedDate":"2023-09-03"},{"lineNumber":164,"author":{"gitId":"andytoh1"},"content":" else System.out.print(\"[ ] \");","lastModifiedDate":"2023-08-24"},{"lineNumber":165,"author":{"gitId":"andytoh1"},"content":" System.out.println(taskList.getTask(removeTask).getDescription());","lastModifiedDate":"2023-09-03"},{"lineNumber":166,"author":{"gitId":"andytoh1"},"content":" taskList.deleteTask(removeTask);","lastModifiedDate":"2023-09-03"},{"lineNumber":167,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":168,"author":{"gitId":"andytoh1"},"content":" Ui.formatErrorMessage(\"delete\");","lastModifiedDate":"2023-09-03"},{"lineNumber":169,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":170,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":171,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":172,"author":{"gitId":"andytoh1"},"content":" public static void markMessage(int doneTask, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":173,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":174,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Well done! This task has been marked as done.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":175,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(doneTask) instanceof Todo) {","lastModifiedDate":"2023-09-03"},{"lineNumber":176,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[T]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":177,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(doneTask) instanceof Deadline) {","lastModifiedDate":"2023-09-03"},{"lineNumber":178,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[D]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":179,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(doneTask) instanceof Event) {","lastModifiedDate":"2023-09-03"},{"lineNumber":180,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[E]\");","lastModifiedDate":"2023-09-03"},{"lineNumber":181,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":182,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"[X] \");","lastModifiedDate":"2023-09-03"},{"lineNumber":183,"author":{"gitId":"andytoh1"},"content":" System.out.println(taskList.getTask(doneTask).getDescription());","lastModifiedDate":"2023-09-03"},{"lineNumber":184,"author":{"gitId":"andytoh1"},"content":" taskList.getTask(doneTask).markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":185,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":186,"author":{"gitId":"andytoh1"},"content":" Ui.formatErrorMessage(\"mark\");","lastModifiedDate":"2023-09-03"},{"lineNumber":187,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":188,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":189,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":190,"author":{"gitId":"andytoh1"},"content":" public static void todoMessage(Todo todo, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":191,"author":{"gitId":"andytoh1"},"content":" taskList.addTask(todo);","lastModifiedDate":"2023-09-03"},{"lineNumber":192,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"Added this task: [T] \");","lastModifiedDate":"2023-09-03"},{"lineNumber":193,"author":{"gitId":"andytoh1"},"content":" System.out.println(taskList.getTask(taskList.getCount() - 1).getDescription());","lastModifiedDate":"2023-09-03"},{"lineNumber":194,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":195,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":196,"author":{"gitId":"andytoh1"},"content":" public static void deadlineMessage(Deadline deadline, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":197,"author":{"gitId":"andytoh1"},"content":" taskList.addTask(deadline);","lastModifiedDate":"2023-09-03"},{"lineNumber":198,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"Added this task: [D] \");","lastModifiedDate":"2023-09-03"},{"lineNumber":199,"author":{"gitId":"andytoh1"},"content":" System.out.println(taskList.getTask(taskList.getCount() - 1).getDescription());","lastModifiedDate":"2023-09-03"},{"lineNumber":200,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":201,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":202,"author":{"gitId":"andytoh1"},"content":" public static void eventMessage(Event event, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":203,"author":{"gitId":"andytoh1"},"content":" taskList.addTask(event);","lastModifiedDate":"2023-09-03"},{"lineNumber":204,"author":{"gitId":"andytoh1"},"content":" System.out.print(\"Added this task: [E] \");","lastModifiedDate":"2023-09-03"},{"lineNumber":205,"author":{"gitId":"andytoh1"},"content":" System.out.println(taskList.getTask(taskList.getCount() - 1).getDescription());","lastModifiedDate":"2023-09-03"},{"lineNumber":206,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":207,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":208,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":209,"author":{"gitId":"andytoh1"},"content":" public static class Parser {","lastModifiedDate":"2023-09-03"},{"lineNumber":210,"author":{"gitId":"andytoh1"},"content":" public static void parse (String userMessage, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":211,"author":{"gitId":"andytoh1"},"content":" String datePattern \u003d \"dd-MM-yyyy HH:mm\";","lastModifiedDate":"2023-09-03"},{"lineNumber":212,"author":{"gitId":"andytoh1"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(datePattern);","lastModifiedDate":"2023-09-03"},{"lineNumber":213,"author":{"gitId":"andytoh1"},"content":" if (userMessage.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":214,"author":{"gitId":"andytoh1"},"content":" Ui.endMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":215,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":216,"author":{"gitId":"andytoh1"},"content":" if (userMessage.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":217,"author":{"gitId":"andytoh1"},"content":" Ui.listTasks(taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":218,"author":{"gitId":"andytoh1"},"content":" return;","lastModifiedDate":"2023-09-03"},{"lineNumber":219,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":220,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":221,"author":{"gitId":"andytoh1"},"content":" if (userMessage.substring(0, 6).equalsIgnoreCase(\"delete\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":222,"author":{"gitId":"andytoh1"},"content":" int removeTask \u003d Integer.parseInt(userMessage.substring(7)) - 1;","lastModifiedDate":"2023-09-03"},{"lineNumber":223,"author":{"gitId":"andytoh1"},"content":" Ui.deleteMessage(removeTask, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":224,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 4).equalsIgnoreCase(\"mark\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":225,"author":{"gitId":"andytoh1"},"content":" int doneTask \u003d Integer.parseInt(userMessage.substring(5)) - 1;","lastModifiedDate":"2023-09-03"},{"lineNumber":226,"author":{"gitId":"andytoh1"},"content":" Ui.markMessage(doneTask, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":227,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 4).equalsIgnoreCase(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":228,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":229,"author":{"gitId":"andytoh1"},"content":" Todo todo \u003d new Todo(userMessage.substring(5));","lastModifiedDate":"2023-09-03"},{"lineNumber":230,"author":{"gitId":"andytoh1"},"content":" Ui.todoMessage(todo, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":231,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":232,"author":{"gitId":"andytoh1"},"content":" Ui.formatErrorMessage(\"todo\");","lastModifiedDate":"2023-09-03"},{"lineNumber":233,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":234,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 8).equalsIgnoreCase(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":235,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":236,"author":{"gitId":"andytoh1"},"content":" int index \u003d userMessage.indexOf(\"/by\");","lastModifiedDate":"2023-08-24"},{"lineNumber":237,"author":{"gitId":"andytoh1"},"content":" String description \u003d userMessage.substring(9, index - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":238,"author":{"gitId":"andytoh1"},"content":" LocalDateTime taskDeadline \u003d LocalDateTime.parse(userMessage.substring(index + 4), formatter);","lastModifiedDate":"2023-09-03"},{"lineNumber":239,"author":{"gitId":"andytoh1"},"content":" Deadline deadline \u003d new Deadline(description, taskDeadline);","lastModifiedDate":"2023-09-03"},{"lineNumber":240,"author":{"gitId":"andytoh1"},"content":" Ui.deadlineMessage(deadline, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":241,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":242,"author":{"gitId":"andytoh1"},"content":" Ui.formatErrorMessage(\"deadline\");","lastModifiedDate":"2023-09-03"},{"lineNumber":243,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":244,"author":{"gitId":"andytoh1"},"content":" } else if (userMessage.substring(0, 5).equalsIgnoreCase(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":245,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":246,"author":{"gitId":"andytoh1"},"content":" int index \u003d userMessage.indexOf(\"/from\");","lastModifiedDate":"2023-08-24"},{"lineNumber":247,"author":{"gitId":"andytoh1"},"content":" int index2 \u003d userMessage.indexOf(\"/to\");","lastModifiedDate":"2023-08-24"},{"lineNumber":248,"author":{"gitId":"andytoh1"},"content":" String description \u003d userMessage.substring(6, index - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":249,"author":{"gitId":"andytoh1"},"content":" String start \u003d userMessage.substring(index + 6, index2 - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":250,"author":{"gitId":"andytoh1"},"content":" String end \u003d userMessage.substring(index2 + 4);","lastModifiedDate":"2023-09-03"},{"lineNumber":251,"author":{"gitId":"andytoh1"},"content":" LocalDateTime startTime \u003d LocalDateTime.parse(start, formatter);","lastModifiedDate":"2023-09-03"},{"lineNumber":252,"author":{"gitId":"andytoh1"},"content":" LocalDateTime endTime \u003d LocalDateTime.parse(end, formatter);","lastModifiedDate":"2023-09-03"},{"lineNumber":253,"author":{"gitId":"andytoh1"},"content":" Event event \u003d new Event(description, startTime, endTime);","lastModifiedDate":"2023-09-03"},{"lineNumber":254,"author":{"gitId":"andytoh1"},"content":" Ui.eventMessage(event, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":255,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":256,"author":{"gitId":"andytoh1"},"content":" Ui.formatErrorMessage(\"event\");","lastModifiedDate":"2023-09-03"},{"lineNumber":257,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":258,"author":{"gitId":"andytoh1"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":259,"author":{"gitId":"andytoh1"},"content":" Ui.inputErrorMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":260,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":261,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":262,"author":{"gitId":"andytoh1"},"content":" Ui.inputErrorMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":263,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":264,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":265,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":266,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":267,"author":{"gitId":"andytoh1"},"content":" public static class TaskList {","lastModifiedDate":"2023-09-03"},{"lineNumber":268,"author":{"gitId":"andytoh1"},"content":" private Task[] tasks;","lastModifiedDate":"2023-09-03"},{"lineNumber":269,"author":{"gitId":"andytoh1"},"content":" private int taskCount;","lastModifiedDate":"2023-09-03"},{"lineNumber":270,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":271,"author":{"gitId":"andytoh1"},"content":" public TaskList() {","lastModifiedDate":"2023-09-03"},{"lineNumber":272,"author":{"gitId":"andytoh1"},"content":" tasks \u003d new Task[100];","lastModifiedDate":"2023-09-03"},{"lineNumber":273,"author":{"gitId":"andytoh1"},"content":" taskCount \u003d 0;","lastModifiedDate":"2023-09-03"},{"lineNumber":274,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":275,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":276,"author":{"gitId":"andytoh1"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-09-03"},{"lineNumber":277,"author":{"gitId":"andytoh1"},"content":" tasks[taskCount] \u003d task;","lastModifiedDate":"2023-09-03"},{"lineNumber":278,"author":{"gitId":"andytoh1"},"content":" taskCount++;","lastModifiedDate":"2023-09-03"},{"lineNumber":279,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":280,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":281,"author":{"gitId":"andytoh1"},"content":" public void deleteTask(int task) {","lastModifiedDate":"2023-09-03"},{"lineNumber":282,"author":{"gitId":"andytoh1"},"content":" Task[] newTasks \u003d new Task[100];","lastModifiedDate":"2023-09-03"},{"lineNumber":283,"author":{"gitId":"andytoh1"},"content":" for (int i \u003d 0; i \u003c taskCount - 1; i++) {","lastModifiedDate":"2023-09-03"},{"lineNumber":284,"author":{"gitId":"andytoh1"},"content":" int j \u003d i;","lastModifiedDate":"2023-09-03"},{"lineNumber":285,"author":{"gitId":"andytoh1"},"content":" if (i \u003e\u003d task) j \u003d i + 1;","lastModifiedDate":"2023-09-03"},{"lineNumber":286,"author":{"gitId":"andytoh1"},"content":" newTasks[i] \u003d tasks[j];","lastModifiedDate":"2023-09-03"},{"lineNumber":287,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":288,"author":{"gitId":"andytoh1"},"content":" tasks \u003d newTasks;","lastModifiedDate":"2023-09-03"},{"lineNumber":289,"author":{"gitId":"andytoh1"},"content":" taskCount--;","lastModifiedDate":"2023-09-03"},{"lineNumber":290,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":291,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":292,"author":{"gitId":"andytoh1"},"content":" public void markTask(int task) {","lastModifiedDate":"2023-09-03"},{"lineNumber":293,"author":{"gitId":"andytoh1"},"content":" tasks[task].markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":294,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":295,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":296,"author":{"gitId":"andytoh1"},"content":" public int getCount() {","lastModifiedDate":"2023-09-03"},{"lineNumber":297,"author":{"gitId":"andytoh1"},"content":" return taskCount;","lastModifiedDate":"2023-09-03"},{"lineNumber":298,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":299,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":300,"author":{"gitId":"andytoh1"},"content":" public Task getTask(int i) {","lastModifiedDate":"2023-09-03"},{"lineNumber":301,"author":{"gitId":"andytoh1"},"content":" return tasks[i];","lastModifiedDate":"2023-09-03"},{"lineNumber":302,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":303,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":304,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":305,"author":{"gitId":"andytoh1"},"content":" public static class Storage {","lastModifiedDate":"2023-09-03"},{"lineNumber":306,"author":{"gitId":"andytoh1"},"content":" public static void load(TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":307,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":308,"author":{"gitId":"andytoh1"},"content":" String datePattern2 \u003d \"MMM-dd-yyyy HH:mm\";","lastModifiedDate":"2023-09-03"},{"lineNumber":309,"author":{"gitId":"andytoh1"},"content":" DateTimeFormatter formatter2 \u003d DateTimeFormatter.ofPattern(datePattern2);","lastModifiedDate":"2023-09-03"},{"lineNumber":310,"author":{"gitId":"andytoh1"},"content":" File taskFile \u003d new File(\"./tasks.txt\");","lastModifiedDate":"2023-09-03"},{"lineNumber":311,"author":{"gitId":"andytoh1"},"content":" Scanner taskReader \u003d new Scanner(taskFile);","lastModifiedDate":"2023-09-03"},{"lineNumber":312,"author":{"gitId":"andytoh1"},"content":" while (taskReader.hasNextLine()) {","lastModifiedDate":"2023-09-03"},{"lineNumber":313,"author":{"gitId":"andytoh1"},"content":" String taskFromFile \u003d taskReader.nextLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":314,"author":{"gitId":"andytoh1"},"content":" if (taskFromFile.charAt(0) \u003d\u003d \u0027T\u0027) {","lastModifiedDate":"2023-09-03"},{"lineNumber":315,"author":{"gitId":"andytoh1"},"content":" Todo todo \u003d new Todo(taskFromFile.substring(3));","lastModifiedDate":"2023-09-03"},{"lineNumber":316,"author":{"gitId":"andytoh1"},"content":" if (taskFromFile.charAt(1) \u003d\u003d \u0027t\u0027) {","lastModifiedDate":"2023-09-03"},{"lineNumber":317,"author":{"gitId":"andytoh1"},"content":" todo.markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":318,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":319,"author":{"gitId":"andytoh1"},"content":" taskList.addTask(todo);","lastModifiedDate":"2023-09-03"},{"lineNumber":320,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":321,"author":{"gitId":"andytoh1"},"content":" if (taskFromFile.charAt(0) \u003d\u003d \u0027D\u0027) {","lastModifiedDate":"2023-09-03"},{"lineNumber":322,"author":{"gitId":"andytoh1"},"content":" String deadlineFromFile \u003d taskReader.nextLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":323,"author":{"gitId":"andytoh1"},"content":" LocalDateTime taskDeadline \u003d LocalDateTime.parse(deadlineFromFile, formatter2);","lastModifiedDate":"2023-09-03"},{"lineNumber":324,"author":{"gitId":"andytoh1"},"content":" Deadline deadline \u003d new Deadline(taskFromFile.substring(3), taskDeadline);","lastModifiedDate":"2023-09-03"},{"lineNumber":325,"author":{"gitId":"andytoh1"},"content":" if (taskFromFile.charAt(1) \u003d\u003d \u0027t\u0027) {","lastModifiedDate":"2023-09-03"},{"lineNumber":326,"author":{"gitId":"andytoh1"},"content":" deadline.markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":327,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":328,"author":{"gitId":"andytoh1"},"content":" taskList.addTask(deadline);","lastModifiedDate":"2023-09-03"},{"lineNumber":329,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":330,"author":{"gitId":"andytoh1"},"content":" if (taskFromFile.charAt(0) \u003d\u003d \u0027E\u0027) {","lastModifiedDate":"2023-09-03"},{"lineNumber":331,"author":{"gitId":"andytoh1"},"content":" String startFromFile \u003d taskReader.nextLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":332,"author":{"gitId":"andytoh1"},"content":" LocalDateTime start \u003d LocalDateTime.parse(startFromFile, formatter2);","lastModifiedDate":"2023-09-03"},{"lineNumber":333,"author":{"gitId":"andytoh1"},"content":" String endFromFile \u003d taskReader.nextLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":334,"author":{"gitId":"andytoh1"},"content":" LocalDateTime end \u003d LocalDateTime.parse(endFromFile, formatter2);","lastModifiedDate":"2023-09-03"},{"lineNumber":335,"author":{"gitId":"andytoh1"},"content":" Event event \u003d new Event(taskFromFile.substring(3), start, end);","lastModifiedDate":"2023-09-03"},{"lineNumber":336,"author":{"gitId":"andytoh1"},"content":" if (taskFromFile.charAt(1) \u003d\u003d \u0027t\u0027) {","lastModifiedDate":"2023-09-03"},{"lineNumber":337,"author":{"gitId":"andytoh1"},"content":" event.markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":338,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":339,"author":{"gitId":"andytoh1"},"content":" taskList.addTask(event);","lastModifiedDate":"2023-09-03"},{"lineNumber":340,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":341,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":342,"author":{"gitId":"andytoh1"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":343,"author":{"gitId":"andytoh1"},"content":" File taskFile \u003d new File(\"./tasks.txt\");","lastModifiedDate":"2023-09-03"},{"lineNumber":344,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":345,"author":{"gitId":"andytoh1"},"content":" taskFile.createNewFile();","lastModifiedDate":"2023-09-03"},{"lineNumber":346,"author":{"gitId":"andytoh1"},"content":" } catch (IOException e2) {","lastModifiedDate":"2023-09-03"},{"lineNumber":347,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Error!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":348,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":349,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":350,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":351,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":352,"author":{"gitId":"andytoh1"},"content":" public static void saveTasks(TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":353,"author":{"gitId":"andytoh1"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":354,"author":{"gitId":"andytoh1"},"content":" FileWriter taskWriter \u003d new FileWriter(\"./tasks.txt\", false);","lastModifiedDate":"2023-09-03"},{"lineNumber":355,"author":{"gitId":"andytoh1"},"content":" for (int taskNumber \u003d 0; taskNumber \u003c\u003d taskList.getCount(); taskNumber++) {","lastModifiedDate":"2023-09-03"},{"lineNumber":356,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(taskNumber) instanceof Todo) {","lastModifiedDate":"2023-09-03"},{"lineNumber":357,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(\"T\");","lastModifiedDate":"2023-09-03"},{"lineNumber":358,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(taskList.getTask(taskNumber).isDone() ? \"t \" : \"f \");","lastModifiedDate":"2023-09-03"},{"lineNumber":359,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(taskList.getTask(taskNumber).getDescription() + \"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":360,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(taskNumber) instanceof Deadline) {","lastModifiedDate":"2023-09-03"},{"lineNumber":361,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(\"D\");","lastModifiedDate":"2023-09-03"},{"lineNumber":362,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(taskList.getTask(taskNumber).isDone() ? \"t \" : \"f \");","lastModifiedDate":"2023-09-03"},{"lineNumber":363,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(((Deadline)taskList.getTask(taskNumber)).getDescriptionWithoutTime() + \"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":364,"author":{"gitId":"andytoh1"},"content":" } else if (taskList.getTask(taskNumber) instanceof Event) {","lastModifiedDate":"2023-09-03"},{"lineNumber":365,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(\"E\");","lastModifiedDate":"2023-09-03"},{"lineNumber":366,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(taskList.getTask(taskNumber).isDone() ? \"t \" : \"f \");","lastModifiedDate":"2023-09-03"},{"lineNumber":367,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(((Event)taskList.getTask(taskNumber)).getDescriptionWithoutTime() + \"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":368,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":369,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(taskNumber) instanceof Deadline) {","lastModifiedDate":"2023-09-03"},{"lineNumber":370,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(((Deadline) taskList.getTask(taskNumber)).getDeadline() + \"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":371,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":372,"author":{"gitId":"andytoh1"},"content":" if (taskList.getTask(taskNumber) instanceof Event) {","lastModifiedDate":"2023-09-03"},{"lineNumber":373,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(((Event) taskList.getTask(taskNumber)).getStartTime() + \"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":374,"author":{"gitId":"andytoh1"},"content":" taskWriter.write(((Event) taskList.getTask(taskNumber)).getEndTime() + \"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":375,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":376,"author":{"gitId":"andytoh1"},"content":" taskWriter.flush();","lastModifiedDate":"2023-09-03"},{"lineNumber":377,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":378,"author":{"gitId":"andytoh1"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":379,"author":{"gitId":"andytoh1"},"content":" System.out.println(\"Error!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":380,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":381,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":382,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":383,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":384,"author":{"gitId":"andytoh1"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-09-03"},{"lineNumber":385,"author":{"gitId":"andytoh1"},"content":" TaskList taskList \u003d new TaskList();","lastModifiedDate":"2023-09-03"},{"lineNumber":386,"author":{"gitId":"andytoh1"},"content":" Ui ui \u003d new Ui();","lastModifiedDate":"2023-09-03"},{"lineNumber":387,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":388,"author":{"gitId":"andytoh1"},"content":" Storage.load(taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":389,"author":{"gitId":"andytoh1"},"content":" Ui.startMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":390,"author":{"gitId":"andytoh1"},"content":" Scanner userInput \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-03"},{"lineNumber":391,"author":{"gitId":"andytoh1"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":392,"author":{"gitId":"andytoh1"},"content":" while (true) {","lastModifiedDate":"2023-09-03"},{"lineNumber":393,"author":{"gitId":"andytoh1"},"content":" String userMessage \u003d userInput.nextLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":394,"author":{"gitId":"andytoh1"},"content":" Parser.parse(userMessage, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":395,"author":{"gitId":"andytoh1"},"content":" Storage.saveTasks(taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":396,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":397,"author":{"gitId":"andytoh1"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":398,"author":{"gitId":"andytoh1"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"andytoh1":398}},{"path":"src/test/java/ChatbotTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"andytoh1"},"content":"public class ChatbotTest {","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"andytoh1"},"content":"}","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"andytoh1":2}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"andytoh1"},"content":"adkpqweqwdpaskda","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"andytoh1"},"content":"todo abc","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"andytoh1"},"content":"deadline abc by sunday","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"andytoh1"},"content":"deadline abc /by sunday","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"andytoh1":4}},{"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":"andytoh1"},"content":"java -classpath ..\\bin Chatbot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-27"},{"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":{"andytoh1":1,"-":20}},{"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":"andytoh1"},"content":"java -classpath ../bin Chatbot \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-27"},{"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":{"andytoh1":1,"-":37}}] diff --git a/andytoh1_ip_master/commits.json b/andytoh1_ip_master/commits.json index 24efbfa6..e7e8db84 100644 --- a/andytoh1_ip_master/commits.json +++ b/andytoh1_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"andytoh1":[{"date":"2023-08-24","commitResults":[{"hash":"be54eb62370c7bf4c5f42ebaa63560004397b72e","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":10}}},{"hash":"8c01edb381794a18a37bbc7fbe27ad976b28bc33","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"2952594b5ffc710a1ab7b015866ceeae49538a2d","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"4afb4e8ac6cd143c44911523f54a1f2cf296c0df","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"f2860d0fd739b4f6e36b813d08ae352e8294aaa0","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":2}}},{"hash":"7ff37d08406c0a99195331a4d853bf95e745c133","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":16}}},{"hash":"1cab9410d9a7a0145ed46617b8868386c2c8b7d8","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":1}}}]},{"date":"2023-08-27","commitResults":[{"hash":"537844575b5f68eb31dcd0052598ac599e883bc8","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"bat":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"andytoh1":{"java":100,"md":0,"fxml":0,"sh":1,"bat":1,"gradle":0,"txt":4}},"authorContributionVariance":{"andytoh1":2060.8},"authorDisplayNameMap":{"andytoh1":"CS2103T-F11-3 TOH ..ANDY"}} +{"authorDailyContributionsMap":{"andytoh1":[{"date":"2023-08-24","commitResults":[{"hash":"be54eb62370c7bf4c5f42ebaa63560004397b72e","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":10}}},{"hash":"8c01edb381794a18a37bbc7fbe27ad976b28bc33","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"2952594b5ffc710a1ab7b015866ceeae49538a2d","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"4afb4e8ac6cd143c44911523f54a1f2cf296c0df","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"f2860d0fd739b4f6e36b813d08ae352e8294aaa0","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":2}}},{"hash":"7ff37d08406c0a99195331a4d853bf95e745c133","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":16}}},{"hash":"1cab9410d9a7a0145ed46617b8868386c2c8b7d8","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":1}}}]},{"date":"2023-08-27","commitResults":[{"hash":"537844575b5f68eb31dcd0052598ac599e883bc8","isMergeCommit":false,"messageTitle":"no message","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"bat":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}}]},{"date":"2023-09-03","commitResults":[{"hash":"276add239f554cdee0d2894af190d30b2699107d","isMergeCommit":false,"messageTitle":"no message","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":370,"deletions":70}}}]}]},"authorFileTypeContributionMap":{"andytoh1":{"java":400,"md":0,"fxml":0,"sh":1,"bat":1,"gradle":0,"txt":4}},"authorContributionVariance":{"andytoh1":11505.383},"authorDisplayNameMap":{"andytoh1":"CS2103T-F11-3 TOH ..ANDY"}} diff --git a/archive.zip b/archive.zip index 9528b32b..b570aa9b 100644 Binary files a/archive.zip and b/archive.zip differ diff --git a/jinyang628_ip_master/authorship.json b/jinyang628_ip_master/authorship.json index a9fc77c3..1bed5d0e 100644 --- a/jinyang628_ip_master/authorship.json +++ b/jinyang628_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"# duke.Duke project template","lastModifiedDate":"2023-08-27"},{"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":"jinyang628"},"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-27"},{"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":{"jinyang628":2,"-":22}},{"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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","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":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" mainClass.set(\"duke.Duke\")","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":41,"jinyang628":1}},{"path":"data/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"T| |love book","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":1}},{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/** Class representing a task which has a deadline */","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private LocalDate by;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the task.","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" * @param by the deadline of the task.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" super(description);","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" this.by \u003d LocalDate.parse(by);","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" * Returns a string description which contains the deadline of the task.","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" * @return a string representation of the deadline.","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.by.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\")) + \")\";","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the deadline to be stored on local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the deadline saved onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" public String saveTask() {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" return \"D|\" + (this.isDone() ? \"X|\" : \" |\") + this.getDescription() + \"|\" + this.by;","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":37}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Chatbot to assist individuals in keeping track of pending tasks","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" private enum SpecialTaskKeyword {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" TODO,","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" DEADLINE,","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" EVENT","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" private Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" private Ui ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" private Parser parser;","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" this.taskList \u003d new TaskList(this.storage.load(), this.ui);","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" } catch (NoTasksStoredException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" this.ui.showLoadingError();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" this.taskList \u003d new TaskList(this.ui);","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" this.parser \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" public void run() {","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" this.ui.greetMessage();","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" SpecialTaskKeyword[] specialTasksKeywords \u003d SpecialTaskKeyword.values();","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" while (true) {","lastModifiedDate":"2023-08-19"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" String userInput \u003d scanner.nextLine();","lastModifiedDate":"2023-08-19"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-19"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" String actionWord \u003d this.parser.parseActionWord(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" if (actionWord.equals(\"bye\")) {","lastModifiedDate":"2023-08-19"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" this.taskList.save(this.storage);","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-19"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" else if (actionWord.equals(\"list\")) {","lastModifiedDate":"2023-08-19"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" this.taskList.listTasks();","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" else if (actionWord.equals(\"mark\")) {","lastModifiedDate":"2023-08-19"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" int taskNumber \u003d this.parser.parseTaskNumber(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" this.taskList.markTaskAsDone(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" else if (actionWord.equals(\"unmark\")) {","lastModifiedDate":"2023-08-19"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" int taskNumber \u003d this.parser.parseTaskNumber(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" this.taskList.unmarkTask(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" else if (actionWord.equals(\"delete\")) {","lastModifiedDate":"2023-08-19"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" int taskNumber \u003d this.parser.parseTaskNumber(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" this.taskList.deleteTask(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" } else if (actionWord.equals(\"find\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" String description \u003d this.parser.parseFindDescription(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" this.taskList.filterTasks(description);","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" else if (Arrays.stream(specialTasksKeywords).anyMatch(","lastModifiedDate":"2023-08-19"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" keyword -\u003e keyword.toString().toLowerCase().equals(actionWord))) {","lastModifiedDate":"2023-08-19"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-19"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.parser.parseAddTaskInput(userInput, actionWord);","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" this.taskList.addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-19"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-19"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" else {","lastModifiedDate":"2023-08-19"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" throw new InvalidInputException(\"ERROR: Invalid input\");","lastModifiedDate":"2023-08-19"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidInputException e) {","lastModifiedDate":"2023-08-19"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-19"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" scanner.close();","lastModifiedDate":"2023-08-19"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" * Runs the chatbot and allows users to keep track of pending tasks","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" * @param args user inputs to interact with the chatbot","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":" new Duke(\"data/tasks.txt\").run();","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"jinyang628":93,"-":3}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":" * Parent class of all the checked duke.exceptions to be implemented for duke.Duke","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" public DukeException(String message) {","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":15}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/** Task which contains a date to start and date to finish. */","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private LocalDate from;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" private LocalDate to;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" * @param from the string description of the date to begin the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" * @param to the string description of the date to end the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-19"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" super(description);","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" this.from \u003d LocalDate.parse(from);","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" this.to \u003d LocalDate.parse(to);","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" * Returns a string description which contains the starting and ending time of the event.","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" * @return a string representation of the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" return \"[E]\" + super.toString() + \" (from: \" + this.from.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\")) +","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" \" to: \" + this.to.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"))+ \")\";","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the event to be stored on local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the event saved onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" public String saveTask() {","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" return \"E|\" + (this.isDone() ? \"X|\" : \" |\") + this.getDescription() + \"|\" + this.from + \"|\" + this.to;","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":41}},{"path":"src/main/java/duke/InvalidInputException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Exception which occurs when the user input is invalid. */","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class InvalidInputException extends DukeException {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" public InvalidInputException(String message) {","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":13}},{"path":"src/main/java/duke/InvalidTaskException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Exception which occurs when the description of the task is empty. */","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class InvalidTaskException extends DukeException {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" public InvalidTaskException(String message) {","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":13}},{"path":"src/main/java/duke/NoTasksStoredException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Exception which occurs when the description of the task is empty. */","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class NoTasksStoredException extends DukeException{","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" public NoTasksStoredException(String message) {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":12}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" public String parseFindDescription(String userInput) {","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" StringBuilder description \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 1; i \u003c userInputSegmented.length; i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" description.append(userInputSegmented[i] + \" \");","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" return description.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" public String parseActionWord(String userInput) {","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" return userInputSegmented[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" public int parseTaskNumber(String userInput) {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" return Integer.parseInt(userInputSegmented[1]) - 1;","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" public Task parseAddTaskInput(String userInput, String actionWord) throws InvalidTaskException {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented.length \u003d\u003d 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" throw new InvalidTaskException(\"ERROR: The description of a \" + userInputSegmented[0] +","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" \" cannot be empty.\");","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" switch (actionWord) {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" case \"todo\":","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" return parseTodoInput(userInputSegmented);","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" return parseDeadlineInput(userInputSegmented);","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" case \"event\":","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" return parseEventInput(userInputSegmented);","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" throw new InvalidTaskException(\"ERROR: The task is not of a valid type\");","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" private Deadline parseDeadlineInput(String[] userInputSegmented) {","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" int startIndex \u003d 0;","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" while (startIndex \u003c userInputSegmented.length) {","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" startIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented[startIndex].equals(\"/by\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" startIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" return new Deadline(","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, 1, startIndex - 1)),","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, startIndex, userInputSegmented.length)));","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" private Event parseEventInput(String[] userInputSegmented) {","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" int fromIndex \u003d 0;","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" int toIndex \u003d 0;","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" while (fromIndex \u003c userInputSegmented.length) {","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" fromIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented[fromIndex].equals(\"/from\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" fromIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" while (toIndex \u003c userInputSegmented.length) {","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented[toIndex].equals(\"/to\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" return new Event(","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, 1, fromIndex - 1)),","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, fromIndex, toIndex - 1)),","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, toIndex, userInputSegmented.length))","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" );","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" private Todo parseTodoInput(String[] userInputSegmented) {","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" return new Todo(String.join(\" \", Arrays.copyOfRange(userInputSegmented, 1,","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" userInputSegmented.length)));","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":90}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.io.*;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/** CLass which deals with loading tasks from the file and saving tasks in the file. */","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" private String dataFolderName;","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" private String fileName;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the filePath to load and save data.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" * @param filePath string representation of the required filePath.","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" String[] filePathSegmented \u003d filePath.split(\"/\");","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" this.dataFolderName \u003d filePathSegmented[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" this.fileName \u003d filePathSegmented[1];","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" * Loads the tasks stored in the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" * @return an ArrayList containing the stored tasks.","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" * @throws NoTasksStoredException","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" public ArrayList\u003cTask\u003e load() throws NoTasksStoredException {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" ArrayList\u003cTask\u003e storedTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" File dataFolder \u003d new File(this.dataFolderName);","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" if (!dataFolder.exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" dataFolder.mkdirs();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" File file \u003d new File(dataFolder, this.fileName);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" if (file.exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(file));","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" String line;","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" while ((line \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" String[] lineSegmented \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" String taskType \u003d lineSegmented[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" String isDone \u003d lineSegmented[1];","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" switch (isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" case \"X\":","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(lineSegmented[2]);","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" todoTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(todoTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" Deadline deadlineTask \u003d new Deadline(lineSegmented[2], lineSegmented[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" deadlineTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(deadlineTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" Event eventTask \u003d new Event(lineSegmented[2], lineSegmented[3], lineSegmented[4]);","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" eventTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(eventTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Unknown duke.Task Type\");","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" case \" \":","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(lineSegmented[2]);","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(todoTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" Deadline deadlineTask \u003d new Deadline(lineSegmented[2], lineSegmented[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(deadlineTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" Event eventTask \u003d new Event(lineSegmented[2], lineSegmented[3], lineSegmented[4]);","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(eventTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Unknown duke.Task Type\");","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Unknown isDone marker\");","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" reader.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"jinyang628"},"content":" e.printStackTrace();","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"jinyang628"},"content":" } else {","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"jinyang628"},"content":" throw new NoTasksStoredException(\"No stored tasks detected\");","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"jinyang628"},"content":" return storedTasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"jinyang628"},"content":" * Saves the tasks onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"jinyang628"},"content":" * @param tasks an ArrayList containing the tasks to be stored.","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"jinyang628"},"content":" public void save(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"jinyang628"},"content":" FileWriter writer \u003d new FileWriter(this.dataFolderName + \"/\" + this.fileName);","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"jinyang628"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"jinyang628"},"content":" writer.write(task.saveTask());","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"jinyang628"},"content":" if (i \u003c tasks.size() - 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"jinyang628"},"content":" writer.write(System.lineSeparator());","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"jinyang628"},"content":" writer.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"jinyang628"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"jinyang628"},"content":" e.printStackTrace();","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":119,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":119}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":" * Abstract class which all the different types of tasks inherit from","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" private String description;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private boolean isDone;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the task.","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the task","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" * Returns the description of the task.","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" * @return the string description of the task.","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" return this.description;","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" * Returns a boolean indicator of whether the task is done.","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" * @return a boolean indicator of whether the task is done.","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" return this.isDone;","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" * Marks the task as completed","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-19"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-19"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" * Marks the task as incomplete","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" public void unmark() {","lastModifiedDate":"2023-08-19"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the task","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the task description and its state of completion","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" String prefix \u003d \"\";","lastModifiedDate":"2023-08-19"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" if (this.isDone) {","lastModifiedDate":"2023-08-19"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" prefix \u003d \"[X]\";","lastModifiedDate":"2023-08-19"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" } else {","lastModifiedDate":"2023-08-19"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" prefix \u003d \"[ ]\";","lastModifiedDate":"2023-08-19"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" return prefix + \" \" + this.description;","lastModifiedDate":"2023-08-19"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" public abstract String saveTask();","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":65}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private Ui ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" public TaskList(ArrayList\u003cTask\u003e tasks, Ui ui) {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" public TaskList(Ui ui) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" public void filterTasks(String description) {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" List\u003cTask\u003e filteredTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" if (task.getDescription().contains(description)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" filteredTasks.add(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" this.ui.listFoundTasks(filteredTasks);","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" public void save(Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" storage.save(this.tasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" this.ui.exitMessage();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" * Prints out the list of tasks tracked by the chatbot","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" public void listTasks() {","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" this.ui.listMessage(tasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" public void markTaskAsDone(int taskNumber) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.tasks.get(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" this.ui.markTaskAsDoneMessage(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" public void unmarkTask(int taskNumber) {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.tasks.get(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" task.unmark();","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" this.ui.unmarkTaskMessage(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" public void deleteTask(int taskNumber) {","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.tasks.remove(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" this.ui.deleteTaskMessage(task, this.tasks.size());","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" this.tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" this.ui.addTaskMessage(task, this.tasks.size());","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":62}},{"path":"src/main/java/duke/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Task which contains only a description */","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the _todo task.","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the _todo task.","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" super(description);","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the _todo task.","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the task description and its state of completion.","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-19"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the _todo to be stored on local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the _todo saved onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" public String saveTask() {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" return \"T|\" + (this.isDone() ? \"X|\" : \" |\") + this.getDescription();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":30}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class Ui {","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" public void listFoundTasks(List\u003cTask\u003e filteredTasks) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Here are the matching tasks in your list:\");","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c filteredTasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\"%d.%s\\n\", i + 1, filteredTasks.get(i).toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" public void showLoadingError() {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"~~No stored tasks detected~~\\n\");","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" public void greetMessage() {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Hello! I\u0027m HAPPY\\nWhat can I do for you?\\n\");","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" public void exitMessage() {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" public void listMessage(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\" %d.%s%n\", i + 1, task);","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" public void markTaskAsDoneMessage(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\" %s%n\", task);","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" public void unmarkTaskMessage(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\" %s%n\", task);","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" public void deleteTaskMessage(Task task, int numOfTasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\"Now you have %d tasks in the list.%n\", numOfTasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" public void addTaskMessage(Task task, int numOfTasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\"Now you have %d tasks in the list.%n\", numOfTasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":55}},{"path":"src/test/java/duke/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"public class ParserTest {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_successTodo() {","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"todo read book\", \"todo\");","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][ ] read book\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_successDeadline() {","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"deadline return book /by 2019-01-15\", \"deadline\");","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[D][X] return book (by: Jan 15 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_successEvent() {","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"event project meeting /from 2019-02-15 /to 2019-03-30\", \"event\");","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[E][ ] project meeting (from: Feb 15 2019 to: Mar 30 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_failureDeadline1() {","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"deadline return book /by 2019-01-150\", \"deadline\");","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[D][X] return book (by: Jan 15 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"Text \u00272019-01-150\u0027 could not be parsed, unparsed text found at index 10\",","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_failureDeadline2() {","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"deadline return book byebye 2019-01-150\", \"deadline\");","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[D][X] return book (by: Jan 15 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"Index 5 out of bounds for length 5\", e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_failureEvent() {","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"event project meeting /to 2019-02-15 /from 2019-03-30\", \"event\");","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[E][X] project meeting (from: Feb 15 2019 to: Mar 30 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"Index 7 out of bounds for length 7\", e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":90}},{"path":"src/test/java/duke/TodoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"public class TodoTest {","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" public void todoMarkAsDone_success() {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(\"Read Book\");","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" todoTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][X] Read Book\", todoTask.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" public void todoUnmark_success() {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(\"Read Book\");","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" todoTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" todoTask.unmark();","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][ ] Read Book\", todoTask.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" public void todoComplicatedName_success() {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(\"1234567890-\u003d+qwertyuiop[]\u0027;.,/asdfghkl\u0027\");","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][ ] 1234567890-\u003d+qwertyuiop[]\u0027;.,/asdfghkl\u0027\", todoTask.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":36}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"todo borrow book","lastModifiedDate":"2023-08-19"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"deadline return book /by 2019-01-15","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"mark 2","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"event project meeting /from 2019-02-15 /to 2019-03-30","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"unmark 2","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"list","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"delete 1","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"bye","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":8}},{"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":"jinyang628"},"content":"javac -cp ..\\src\\main\\java\\duke -Xlint:none -d ..\\bin ..\\src\\main\\java\\duke\\*.java","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"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":19,"author":{"gitId":"-"},"content":"java -classpath ..\\bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":20,"jinyang628":2}}] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"# duke.Duke project template","lastModifiedDate":"2023-08-27"},{"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":"jinyang628"},"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-27"},{"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":{"jinyang628":2,"-":22}},{"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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2023-09-03"},{"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":"jinyang628"},"content":" mainClass.set(\"duke.Duke\")","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":"checkstyle {","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":47,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":43,"jinyang628":4}},{"path":"data/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"T| |love book","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"E|X|project meeting|2020-02-21|2020-05-12","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"T| |add book","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"jinyang628":3}},{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/** Class representing a task which has a deadline */","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private LocalDate by;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the task.","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" * @param by the deadline of the task.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" super(description);","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" this.by \u003d LocalDate.parse(by);","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" * Returns a string description which contains the deadline of the task.","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" * @return a string representation of the deadline.","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.by.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\")) + \")\";","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the deadline to be stored on local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the deadline saved onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" public String saveTask() {","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" return \"D|\" + (this.isDone() ? \"X|\" : \" |\") + this.getDescription() + \"|\" + this.by;","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":37}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/** Chatbot to assist individuals in keeping track of pending tasks */","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" private enum SpecialTaskKeyword {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" TODO,","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" DEADLINE,","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" EVENT","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" private Storage storage;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" private Ui ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" private Parser parser;","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" /** Constructor to initialise the chatbot */","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" this.taskList \u003d new TaskList(this.storage.load(), this.ui);","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" } catch (NoTasksStoredException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" this.ui.showLoadingError();","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" this.taskList \u003d new TaskList(this.ui);","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" this.parser \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" * Allows the user to interact with the chatbot","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" public void run() {","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" this.ui.greetMessage();","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" SpecialTaskKeyword[] specialTasksKeywords \u003d SpecialTaskKeyword.values();","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" while (true) {","lastModifiedDate":"2023-08-19"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" String userInput \u003d scanner.nextLine();","lastModifiedDate":"2023-08-19"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-19"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" String actionWord \u003d this.parser.parseActionWord(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" if (actionWord.equals(\"bye\")) {","lastModifiedDate":"2023-08-19"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" this.taskList.save(this.storage);","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-19"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" } else if (actionWord.equals(\"list\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" this.taskList.listTasks();","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" } else if (actionWord.equals(\"mark\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" int taskNumber \u003d this.parser.parseTaskNumber(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" this.taskList.markTaskAsDone(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" } else if (actionWord.equals(\"unmark\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" int taskNumber \u003d this.parser.parseTaskNumber(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" this.taskList.unmarkTask(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" } else if (actionWord.equals(\"delete\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" int taskNumber \u003d this.parser.parseTaskNumber(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" this.taskList.deleteTask(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" } else if (actionWord.equals(\"find\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" String description \u003d this.parser.parseFindDescription(userInput);","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" this.taskList.filterTasks(description);","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" } else if (Arrays.stream(specialTasksKeywords).anyMatch(","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" keyword -\u003e keyword.toString().toLowerCase().equals(actionWord))) {","lastModifiedDate":"2023-08-19"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-19"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.parser.parseAddTaskInput(userInput, actionWord);","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" this.taskList.addTask(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-19"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-19"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" } else {","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" throw new InvalidInputException(\"ERROR: Invalid input\");","lastModifiedDate":"2023-08-19"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidInputException e) {","lastModifiedDate":"2023-08-19"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-19"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" scanner.close();","lastModifiedDate":"2023-08-19"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" * Runs the chatbot and allows users to keep track of pending tasks","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" *","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" * @param args user inputs to interact with the chatbot","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" new Duke(\"data/tasks.txt\").run();","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"jinyang628":89,"-":3}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":" * Parent class of all the checked duke.exceptions to be implemented for duke.Duke","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" public DukeException(String message) {","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":15}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"/** Task which contains a date to start and date to finish. */","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private LocalDate from;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" private LocalDate to;","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" * @param from the string description of the date to begin the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" * @param to the string description of the date to end the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-19"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" super(description);","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" this.from \u003d LocalDate.parse(from);","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" this.to \u003d LocalDate.parse(to);","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" * Returns a string description which contains the starting and ending time of the event.","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" * @return a string representation of the event.","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" return \"[E]\" + super.toString() + \" (from: \" + this.from.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"))","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" + \" to: \" + this.to.format(DateTimeFormatter.ofPattern(\"MMM d yyyy\")) + \")\";","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the event to be stored on local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the event saved onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" public String saveTask() {","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" return \"E|\" + (this.isDone() ? \"X|\" : \" |\") + this.getDescription() + \"|\" + this.from + \"|\" + this.to;","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":41}},{"path":"src/main/java/duke/InvalidInputException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Exception which occurs when the user input is invalid. */","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class InvalidInputException extends DukeException {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" public InvalidInputException(String message) {","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":13}},{"path":"src/main/java/duke/InvalidTaskException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Exception which occurs when the description of the task is empty. */","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class InvalidTaskException extends DukeException {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" public InvalidTaskException(String message) {","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":13}},{"path":"src/main/java/duke/NoTasksStoredException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Exception which occurs when the description of the task is empty. */","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class NoTasksStoredException extends DukeException {","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" * Class constructor containing the message of the exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * @param message the string message associated with the exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" public NoTasksStoredException(String message) {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" super(message);","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":12}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"/** Class that deals with making sense of the user command. */","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class Parser {","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" * Returns the description of the task the user is trying to filter for.","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" * @param userInput the entire user input.","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * @return a String value containing the desired description.","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" public String parseFindDescription(String userInput) {","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" StringBuilder description \u003d new StringBuilder();","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 1; i \u003c userInputSegmented.length; i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" description.append(userInputSegmented[i] + \" \");","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" return description.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" * Returns a string representation of the type of command the user inputted.","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" * @param userInput the entire user input.","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" * @return a String value indicating the type of user command.","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" public String parseActionWord(String userInput) {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" return userInputSegmented[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" * Returns the task number associated with the task.","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" * @param userInput the entire user input.","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" * @return an integer indicating the number associated with the task.","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" public int parseTaskNumber(String userInput) {","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" return Integer.parseInt(userInputSegmented[1]) - 1;","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" * Returns the Task the user wants to add into Duke.","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" * @param userInput the entire user input.","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" * @param actionWord the type of task the user wants to add.","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" * @return the Task the user wants to add into Duke.","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" * @throws InvalidTaskException if the description of the task is missing or the task type is invalid.","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" public Task parseAddTaskInput(String userInput, String actionWord) throws InvalidTaskException {","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" String[] userInputSegmented \u003d userInput.split(\" \");","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented.length \u003d\u003d 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" throw new InvalidTaskException(\"ERROR: The description of a \" + userInputSegmented[0]","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" + \" cannot be empty.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" switch (actionWord) {","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" case \"todo\":","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" return parseTodoInput(userInputSegmented);","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" return parseDeadlineInput(userInputSegmented);","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" case \"event\":","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" return parseEventInput(userInputSegmented);","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" throw new InvalidTaskException(\"ERROR: The task is not of a valid type\");","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" private Deadline parseDeadlineInput(String[] userInputSegmented) {","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" int startIndex \u003d 0;","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" while (startIndex \u003c userInputSegmented.length) {","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" startIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented[startIndex].equals(\"/by\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" startIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" return new Deadline(","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, 1, startIndex - 1)),","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, startIndex, userInputSegmented.length)));","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" private Event parseEventInput(String[] userInputSegmented) {","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" int fromIndex \u003d 0;","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" int toIndex \u003d 0;","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":" while (fromIndex \u003c userInputSegmented.length) {","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"jinyang628"},"content":" fromIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented[fromIndex].equals(\"/from\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"jinyang628"},"content":" fromIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"jinyang628"},"content":" while (toIndex \u003c userInputSegmented.length) {","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"jinyang628"},"content":" if (userInputSegmented[toIndex].equals(\"/to\")) {","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"jinyang628"},"content":" toIndex++;","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"jinyang628"},"content":" return new Event(","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, 1, fromIndex - 1)),","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, fromIndex, toIndex - 1)),","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"jinyang628"},"content":" String.join(\" \", Arrays.copyOfRange(userInputSegmented, toIndex, userInputSegmented.length))","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"jinyang628"},"content":" );","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"jinyang628"},"content":" private Todo parseTodoInput(String[] userInputSegmented) {","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"jinyang628"},"content":" return new Todo(String.join(\" \", Arrays.copyOfRange(userInputSegmented, 1,","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"jinyang628"},"content":" userInputSegmented.length)));","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":118}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.io.File;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"import java.io.FileReader;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"/** CLass which deals with loading tasks from the file and saving tasks in the file. */","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":"public class Storage {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" private String dataFolderName;","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" private String fileName;","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the filePath to load and save data.","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" * @param filePath string representation of the required filePath.","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" String[] filePathSegmented \u003d filePath.split(\"/\");","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" this.dataFolderName \u003d filePathSegmented[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" this.fileName \u003d filePathSegmented[1];","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" * Loads the tasks stored in the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" * @return an ArrayList containing the stored tasks.","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" * @throws NoTasksStoredException","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" public ArrayList\u003cTask\u003e load() throws NoTasksStoredException {","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" ArrayList\u003cTask\u003e storedTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" File dataFolder \u003d new File(this.dataFolderName);","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" if (!dataFolder.exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" dataFolder.mkdirs();","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" File file \u003d new File(dataFolder, this.fileName);","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" if (file.exists()) {","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(file));","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" String line;","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" while ((line \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" String[] lineSegmented \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" String taskType \u003d lineSegmented[0];","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" String isDone \u003d lineSegmented[1];","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" switch (isDone) {","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" case \"X\":","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(lineSegmented[2]);","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" todoTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(todoTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" Deadline deadlineTask \u003d new Deadline(lineSegmented[2], lineSegmented[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" deadlineTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(deadlineTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" Event eventTask \u003d new Event(lineSegmented[2], lineSegmented[3], lineSegmented[4]);","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" eventTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(eventTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Unknown duke.Task Type\");","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" case \" \":","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" switch (taskType) {","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" case \"T\":","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(lineSegmented[2]);","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(todoTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" case \"D\":","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":" Deadline deadlineTask \u003d new Deadline(lineSegmented[2], lineSegmented[3]);","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(deadlineTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" case \"E\":","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" Event eventTask \u003d new Event(lineSegmented[2], lineSegmented[3], lineSegmented[4]);","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" storedTasks.add(eventTask);","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Unknown duke.Task Type\");","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" default:","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Unknown isDone marker\");","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":" break;","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":92,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":93,"author":{"gitId":"jinyang628"},"content":" reader.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":94,"author":{"gitId":"jinyang628"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":95,"author":{"gitId":"jinyang628"},"content":" e.printStackTrace();","lastModifiedDate":"2023-08-27"},{"lineNumber":96,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":97,"author":{"gitId":"jinyang628"},"content":" } else {","lastModifiedDate":"2023-08-27"},{"lineNumber":98,"author":{"gitId":"jinyang628"},"content":" throw new NoTasksStoredException(\"No stored tasks detected\");","lastModifiedDate":"2023-08-27"},{"lineNumber":99,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":100,"author":{"gitId":"jinyang628"},"content":" return storedTasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":101,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":102,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":103,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":104,"author":{"gitId":"jinyang628"},"content":" * Saves the tasks onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":105,"author":{"gitId":"jinyang628"},"content":" * @param tasks an ArrayList containing the tasks to be stored.","lastModifiedDate":"2023-08-27"},{"lineNumber":106,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":107,"author":{"gitId":"jinyang628"},"content":" public void save(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":108,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":109,"author":{"gitId":"jinyang628"},"content":" FileWriter writer \u003d new FileWriter(this.dataFolderName + \"/\" + this.fileName);","lastModifiedDate":"2023-08-27"},{"lineNumber":110,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":111,"author":{"gitId":"jinyang628"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-27"},{"lineNumber":112,"author":{"gitId":"jinyang628"},"content":" writer.write(task.saveTask());","lastModifiedDate":"2023-08-27"},{"lineNumber":113,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":114,"author":{"gitId":"jinyang628"},"content":" if (i \u003c tasks.size() - 1) {","lastModifiedDate":"2023-08-27"},{"lineNumber":115,"author":{"gitId":"jinyang628"},"content":" writer.write(System.lineSeparator());","lastModifiedDate":"2023-08-27"},{"lineNumber":116,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":117,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":118,"author":{"gitId":"jinyang628"},"content":" writer.close();","lastModifiedDate":"2023-08-27"},{"lineNumber":119,"author":{"gitId":"jinyang628"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":120,"author":{"gitId":"jinyang628"},"content":" e.printStackTrace();","lastModifiedDate":"2023-08-27"},{"lineNumber":121,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":122,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":123,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":123}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":" * Abstract class which all the different types of tasks inherit from","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public abstract class Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" private String description;","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private boolean isDone;","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the task.","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the task","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" * Returns the description of the task.","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" * @return the string description of the task.","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" return this.description;","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" * Returns a boolean indicator of whether the task is done.","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" * @return a boolean indicator of whether the task is done.","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" return this.isDone;","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" * Marks the task as completed","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-19"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-19"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" * Marks the task as incomplete","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" public void unmark() {","lastModifiedDate":"2023-08-19"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the task","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the task description and its state of completion","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" String prefix \u003d \"\";","lastModifiedDate":"2023-08-19"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" if (this.isDone) {","lastModifiedDate":"2023-08-19"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" prefix \u003d \"[X]\";","lastModifiedDate":"2023-08-19"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" } else {","lastModifiedDate":"2023-08-19"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" prefix \u003d \"[ ]\";","lastModifiedDate":"2023-08-19"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" return prefix + \" \" + this.description;","lastModifiedDate":"2023-08-19"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" public abstract String saveTask();","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":65}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class TaskList {","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" private Ui ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" public TaskList(ArrayList\u003cTask\u003e tasks, Ui ui) {","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" public TaskList(Ui ui) {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" public void filterTasks(String description) {","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" List\u003cTask\u003e filteredTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" if (task.getDescription().contains(description)) {","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" filteredTasks.add(task);","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" this.ui.listFoundTasks(filteredTasks);","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" public void save(Storage storage) {","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" storage.save(this.tasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" this.ui.exitMessage();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" * Prints out the list of tasks tracked by the chatbot","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" public void listTasks() {","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" this.ui.listMessage(tasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" public void markTaskAsDone(int taskNumber) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.tasks.get(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" this.ui.markTaskAsDoneMessage(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" public void unmarkTask(int taskNumber) {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.tasks.get(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" task.unmark();","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" this.ui.unmarkTaskMessage(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" public void deleteTask(int taskNumber) {","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" Task task \u003d this.tasks.remove(taskNumber);","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" this.ui.deleteTaskMessage(task, this.tasks.size());","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" this.tasks.add(task);","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" this.ui.addTaskMessage(task, this.tasks.size());","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":62}},{"path":"src/main/java/duke/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"/** Task which contains only a description */","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":" * Class constructor specifying the description of the _todo task.","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" * @param description the string description of the _todo task.","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" super(description);","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the _todo task.","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the task description and its state of completion.","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-19"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" /**","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" * Returns the information associated with the _todo to be stored on local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" * @return the string representation of the _todo saved onto the local hard disk.","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" */","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" public String saveTask() {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" return \"T|\" + (this.isDone() ? \"X|\" : \" |\") + this.getDescription();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":30}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import java.util.List;","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"public class Ui {","lastModifiedDate":"2023-08-27"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":" public void listFoundTasks(List\u003cTask\u003e filteredTasks) {","lastModifiedDate":"2023-08-28"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Here are the matching tasks in your list:\");","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c filteredTasks.size(); i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\"%d.%s\\n\", i + 1, filteredTasks.get(i).toString());","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" public void showLoadingError() {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"~~No stored tasks detected~~\\n\");","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" public void greetMessage() {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Hello! I\u0027m HAPPY\\nWhat can I do for you?\\n\");","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" public void exitMessage() {","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" public void listMessage(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" Task task \u003d tasks.get(i);","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\" %d.%s%n\", i + 1, task);","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":" public void markTaskAsDoneMessage(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\" %s%n\", task);","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" public void unmarkTaskMessage(Task task) {","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\" %s%n\", task);","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" public void deleteTaskMessage(Task task, int numOfTasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\"Now you have %d tasks in the list.%n\", numOfTasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" public void addTaskMessage(Task task, int numOfTasks) {","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" System.out.println(\" \" + task);","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" System.out.printf(\"Now you have %d tasks in the list.%n\", numOfTasks);","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":55}},{"path":"src/test/java/duke/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":"public class ParserTest {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_successTodo() {","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"todo read book\", \"todo\");","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][ ] read book\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_successDeadline() {","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"deadline return book /by 2019-01-15\", \"deadline\");","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[D][X] return book (by: Jan 15 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":35,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":36,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_successEvent() {","lastModifiedDate":"2023-08-27"},{"lineNumber":37,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":38,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":39,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"event project meeting /from 2019-02-15 /to 2019-03-30\", \"event\");","lastModifiedDate":"2023-08-27"},{"lineNumber":40,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[E][ ] project meeting (from: Feb 15 2019 to: Mar 30 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":41,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":42,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":43,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":44,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":45,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":46,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":47,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_failureDeadline1() {","lastModifiedDate":"2023-08-27"},{"lineNumber":48,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":49,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":50,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"deadline return book /by 2019-01-150\", \"deadline\");","lastModifiedDate":"2023-08-27"},{"lineNumber":51,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":52,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[D][X] return book (by: Jan 15 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":53,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":54,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":55,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":56,"author":{"gitId":"jinyang628"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":57,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"Text \u00272019-01-150\u0027 could not be parsed, unparsed text found at index 10\",","lastModifiedDate":"2023-08-27"},{"lineNumber":58,"author":{"gitId":"jinyang628"},"content":" e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":59,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":60,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":61,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":62,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":63,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_failureDeadline2() {","lastModifiedDate":"2023-08-27"},{"lineNumber":64,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":65,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":66,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"deadline return book byebye 2019-01-150\", \"deadline\");","lastModifiedDate":"2023-08-27"},{"lineNumber":67,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":68,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[D][X] return book (by: Jan 15 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":69,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":70,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":71,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":72,"author":{"gitId":"jinyang628"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":73,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"Index 5 out of bounds for length 5\", e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":74,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":75,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":76,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":77,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":78,"author":{"gitId":"jinyang628"},"content":" public void parseAddTaskInput_failureEvent() {","lastModifiedDate":"2023-08-27"},{"lineNumber":79,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":80,"author":{"gitId":"jinyang628"},"content":" Parser parse \u003d new Parser();","lastModifiedDate":"2023-08-27"},{"lineNumber":81,"author":{"gitId":"jinyang628"},"content":" Task task \u003d parse.parseAddTaskInput(\"event project meeting /to 2019-02-15 /from 2019-03-30\", \"event\");","lastModifiedDate":"2023-08-27"},{"lineNumber":82,"author":{"gitId":"jinyang628"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":83,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[E][X] project meeting (from: Feb 15 2019 to: Mar 30 2019)\", task.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":84,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":85,"author":{"gitId":"jinyang628"},"content":" } catch (InvalidTaskException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":86,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":87,"author":{"gitId":"jinyang628"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":88,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"Index 7 out of bounds for length 7\", e.getMessage());","lastModifiedDate":"2023-08-27"},{"lineNumber":89,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":90,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":91,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":91}},{"path":"src/test/java/duke/TodoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"package duke;","lastModifiedDate":"2023-08-27"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-08-27"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"public class TodoTest {","lastModifiedDate":"2023-08-27"},{"lineNumber":9,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":10,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":" public void todoMarkAsDone_success() {","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(\"Read Book\");","lastModifiedDate":"2023-08-27"},{"lineNumber":13,"author":{"gitId":"jinyang628"},"content":" todoTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":14,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][X] Read Book\", todoTask.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":15,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":16,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":17,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":18,"author":{"gitId":"jinyang628"},"content":" public void todoUnmark_success() {","lastModifiedDate":"2023-08-27"},{"lineNumber":19,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(\"Read Book\");","lastModifiedDate":"2023-08-27"},{"lineNumber":20,"author":{"gitId":"jinyang628"},"content":" todoTask.markAsDone();","lastModifiedDate":"2023-08-27"},{"lineNumber":21,"author":{"gitId":"jinyang628"},"content":" todoTask.unmark();","lastModifiedDate":"2023-08-27"},{"lineNumber":22,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][ ] Read Book\", todoTask.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":23,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":24,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":25,"author":{"gitId":"jinyang628"},"content":" @Test","lastModifiedDate":"2023-08-27"},{"lineNumber":26,"author":{"gitId":"jinyang628"},"content":" public void todoComplicatedName_success() {","lastModifiedDate":"2023-08-27"},{"lineNumber":27,"author":{"gitId":"jinyang628"},"content":" try {","lastModifiedDate":"2023-08-27"},{"lineNumber":28,"author":{"gitId":"jinyang628"},"content":" Todo todoTask \u003d new Todo(\"1234567890-\u003d+qwertyuiop[]\u0027;.,/asdfghkl\u0027\");","lastModifiedDate":"2023-08-27"},{"lineNumber":29,"author":{"gitId":"jinyang628"},"content":" assertEquals(\"[T][ ] 1234567890-\u003d+qwertyuiop[]\u0027;.,/asdfghkl\u0027\", todoTask.toString());","lastModifiedDate":"2023-08-27"},{"lineNumber":30,"author":{"gitId":"jinyang628"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-27"},{"lineNumber":31,"author":{"gitId":"jinyang628"},"content":" fail();","lastModifiedDate":"2023-08-27"},{"lineNumber":32,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":33,"author":{"gitId":"jinyang628"},"content":" }","lastModifiedDate":"2023-08-27"},{"lineNumber":34,"author":{"gitId":"jinyang628"},"content":"}","lastModifiedDate":"2023-08-27"}],"authorContributionMap":{"jinyang628":34}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"jinyang628"},"content":"todo borrow book","lastModifiedDate":"2023-08-19"},{"lineNumber":2,"author":{"gitId":"jinyang628"},"content":"deadline return book /by 2019-01-15","lastModifiedDate":"2023-08-27"},{"lineNumber":3,"author":{"gitId":"jinyang628"},"content":"mark 2","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"jinyang628"},"content":"event project meeting /from 2019-02-15 /to 2019-03-30","lastModifiedDate":"2023-08-27"},{"lineNumber":5,"author":{"gitId":"jinyang628"},"content":"unmark 2","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"jinyang628"},"content":"list","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"jinyang628"},"content":"delete 1","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"jinyang628"},"content":"bye","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"jinyang628":8}},{"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":"jinyang628"},"content":"javac -cp ..\\src\\main\\java\\duke -Xlint:none -d ..\\bin ..\\src\\main\\java\\duke\\*.java","lastModifiedDate":"2023-08-27"},{"lineNumber":11,"author":{"gitId":"jinyang628"},"content":"","lastModifiedDate":"2023-08-27"},{"lineNumber":12,"author":{"gitId":"-"},"content":"IF ERRORLEVEL 1 (","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" echo ********** BUILD FAILURE **********","lastModifiedDate":"2020-05-25"},{"lineNumber":14,"author":{"gitId":"-"},"content":" exit /b 1","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":")","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"REM no error here, errorlevel \u003d\u003d 0","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"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":19,"author":{"gitId":"-"},"content":"java -classpath ..\\bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":20,"jinyang628":2}}] diff --git a/jinyang628_ip_master/commits.json b/jinyang628_ip_master/commits.json index 683d7f97..72b1d97b 100644 --- a/jinyang628_ip_master/commits.json +++ b/jinyang628_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"jinyang628":[{"date":"2023-08-19","commitResults":[{"hash":"edeb7f6ffcda410790757267e922ee7d725bbdb8","isMergeCommit":false,"messageTitle":"Level 6 done","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0},"java":{"insertions":209,"deletions":6}}}]},{"date":"2023-08-23","commitResults":[{"hash":"2ae6a037f2c3a5e8aa91bbee241f423561da4a4f","isMergeCommit":false,"messageTitle":"Removed unused imports","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"9141321a94446e6b7a2c8f460cda557e01668b10","isMergeCommit":false,"messageTitle":"Added Java Docs","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":83,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"0b5ae726ac2cc6141d131022c370fe6dd8929a51","isMergeCommit":false,"messageTitle":"Save tasks local hard disk","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":131,"deletions":5}}},{"hash":"fd77343332567c7945f58ac7d7a4d6ce230480b7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"68d5fbdc018226c65d97b26a114213d4d789a533","isMergeCommit":false,"messageTitle":"Implement date recognition","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":2},"java":{"insertions":15,"deletions":8}}},{"hash":"63bd1493a73d7010e8e6c7dfab8da1b5f1a3fee2","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"4a0ca777739ef686bd6021674cef3b0acf65fb0e","isMergeCommit":false,"messageTitle":"Refactor code with more OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":335,"deletions":193}}},{"hash":"75a972e34b0dc8f2c15db3bf3f76b2e55111cfc3","isMergeCommit":false,"messageTitle":"Divide classes into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":12},"bat":{"insertions":2,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"41d39166727e76666425fcc100200add1bd81554","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"390dbf74f39ae22fb8755d0f4814c2f79909925b","isMergeCommit":false,"messageTitle":"Automate project builds using Gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":0,"deletions":1}}},{"hash":"a83266cb080ea419d042e690852f80525fbf5e2a","isMergeCommit":false,"messageTitle":"Add JUnit tests","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":2},"java":{"insertions":126,"deletions":8}}},{"hash":"fa5fa33e23f4afe48f16b9942d19fc35f5229c2d","isMergeCommit":false,"messageTitle":"Add java docs to half the non-private methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":19}}},{"hash":"dcb5b67fb898406cbded0c210e92d6d2787a706c","isMergeCommit":false,"messageTitle":"Tweak the code to comply with coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"80dca7fdebe371b3fadd02004c9dd01829511e94","isMergeCommit":false,"messageTitle":"Give users a way ton find a task by searching for a keyword","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0}}},{"hash":"2246b5d1dc0e4d059415321b3ca7b558a171a608","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"d8e5d80d3820da85e687a58aa37dca5578c5beb7","isMergeCommit":false,"messageTitle":"Apply Java Docs changes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":15}}},{"hash":"d95cb76885900dd31de7d8879f04aefce27ea35d","isMergeCommit":true,"messageTitle":"Apply Java Docs changes","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"0559dfbccdee087952808da9d9defc0011c6e52c","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"c2c0a9ebdcf0d38712263d7fcccd7328caf4a2e8","isMergeCommit":false,"messageTitle":"All changes rectified","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":2}}},{"hash":"275e3c7466274681fbdf0d92b54ee821eafe3a7d","isMergeCommit":false,"messageTitle":"Correct errors regarding testing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":9}}}]}]},"authorFileTypeContributionMap":{"jinyang628":{"java":771,"md":2,"fxml":0,"sh":0,"bat":2,"gradle":1,"txt":9}},"authorContributionVariance":{"jinyang628":99237.34},"authorDisplayNameMap":{"jinyang628":"CS2103T-W17-1 CHEN..YANG"}} +{"authorDailyContributionsMap":{"jinyang628":[{"date":"2023-08-19","commitResults":[{"hash":"edeb7f6ffcda410790757267e922ee7d725bbdb8","isMergeCommit":false,"messageTitle":"Level 6 done","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0},"java":{"insertions":209,"deletions":6}}}]},{"date":"2023-08-23","commitResults":[{"hash":"2ae6a037f2c3a5e8aa91bbee241f423561da4a4f","isMergeCommit":false,"messageTitle":"Removed unused imports","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"9141321a94446e6b7a2c8f460cda557e01668b10","isMergeCommit":false,"messageTitle":"Added Java Docs","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":83,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"0b5ae726ac2cc6141d131022c370fe6dd8929a51","isMergeCommit":false,"messageTitle":"Save tasks local hard disk","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":131,"deletions":5}}},{"hash":"fd77343332567c7945f58ac7d7a4d6ce230480b7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"68d5fbdc018226c65d97b26a114213d4d789a533","isMergeCommit":false,"messageTitle":"Implement date recognition","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":2},"java":{"insertions":15,"deletions":8}}},{"hash":"63bd1493a73d7010e8e6c7dfab8da1b5f1a3fee2","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"4a0ca777739ef686bd6021674cef3b0acf65fb0e","isMergeCommit":false,"messageTitle":"Refactor code with more OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":335,"deletions":193}}},{"hash":"75a972e34b0dc8f2c15db3bf3f76b2e55111cfc3","isMergeCommit":false,"messageTitle":"Divide classes into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":12},"bat":{"insertions":2,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"41d39166727e76666425fcc100200add1bd81554","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"390dbf74f39ae22fb8755d0f4814c2f79909925b","isMergeCommit":false,"messageTitle":"Automate project builds using Gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":0,"deletions":1}}},{"hash":"a83266cb080ea419d042e690852f80525fbf5e2a","isMergeCommit":false,"messageTitle":"Add JUnit tests","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":2},"java":{"insertions":126,"deletions":8}}},{"hash":"fa5fa33e23f4afe48f16b9942d19fc35f5229c2d","isMergeCommit":false,"messageTitle":"Add java docs to half the non-private methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":19}}},{"hash":"dcb5b67fb898406cbded0c210e92d6d2787a706c","isMergeCommit":false,"messageTitle":"Tweak the code to comply with coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"80dca7fdebe371b3fadd02004c9dd01829511e94","isMergeCommit":false,"messageTitle":"Give users a way ton find a task by searching for a keyword","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0}}},{"hash":"2246b5d1dc0e4d059415321b3ca7b558a171a608","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"d8e5d80d3820da85e687a58aa37dca5578c5beb7","isMergeCommit":false,"messageTitle":"Apply Java Docs changes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":15}}},{"hash":"d95cb76885900dd31de7d8879f04aefce27ea35d","isMergeCommit":true,"messageTitle":"Apply Java Docs changes","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"0559dfbccdee087952808da9d9defc0011c6e52c","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"c2c0a9ebdcf0d38712263d7fcccd7328caf4a2e8","isMergeCommit":false,"messageTitle":"All changes rectified","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":2}}},{"hash":"275e3c7466274681fbdf0d92b54ee821eafe3a7d","isMergeCommit":false,"messageTitle":"Correct errors regarding testing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":9}}}]},{"date":"2023-09-03","commitResults":[{"hash":"73e1b7abb1d96a771746efeac5aec4eff14899e3","isMergeCommit":false,"messageTitle":"Add more Javadocs","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":5,"deletions":0},"txt":{"insertions":3,"deletions":1},"java":{"insertions":4,"deletions":9}}},{"hash":"7a9ea5ad83ef51bc095fbae447dab47fbd729229","isMergeCommit":false,"messageTitle":"Implement checkstyle to detect coding style violations","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":36}}},{"hash":"ba7a0dbdb3e337d178f086a20250c7526c954b60","isMergeCommit":true,"messageTitle":"Merge branch \u0027A-CheckStyle\u0027","messageBody":"","tags":["A-CheckStyle"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"jinyang628":{"java":798,"md":2,"fxml":0,"sh":0,"bat":2,"gradle":4,"txt":11}},"authorContributionVariance":{"jinyang628":67930.266},"authorDisplayNameMap":{"jinyang628":"CS2103T-W17-1 CHEN..YANG"}} diff --git a/jrchoo_ip_master/authorship.json b/jrchoo_ip_master/authorship.json index 936ccfb4..31d5df1c 100644 --- a/jrchoo_ip_master/authorship.json +++ b/jrchoo_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" private final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" protected LocalDateTime by;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" this.by \u003d LocalDateTime.parse(by, formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Date given is in an invalid format.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.by.format(DateTimeFormatter.ofPattern(\"d MMM yyyy h:mm a\")) + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" return \"D\" + super.getDescription() + \" | \" + this.by.format(formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":27}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"import java.io.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"import java.util.List;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" private enum Commands {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" todo, deadline, event, mark, unmark, list, delete, bye;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" File gideon \u003d new File(\"./data/gideon.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" if (gideon.createNewFile()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"File created: \" + gideon.getName());","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Opening saved file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(gideon));","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" String currentLine;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" while ((currentLine \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" System.out.println(currentLine);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" String[] taskInfo \u003d currentLine.split(\"\\\\|\");","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":" String type \u003d taskInfo[0].trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":" String status \u003d taskInfo[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" String description \u003d taskInfo[2].trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" if (\"T\".equals(type)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":" Todo todo \u003d new Todo(description);","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" if (\"X\".equals(status)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":" todo.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":" tasks.add(todo);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" } else if (\"D\".equals(type)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" String by \u003d taskInfo[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" Deadline deadline \u003d new Deadline(description, by.trim());","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":" if (\"X\".equals(status)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":" deadline.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" tasks.add(deadline);","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":" } else if (\"E\".equals(type)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":" String[] duration \u003d taskInfo[3].split(\"-\");","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":" String from \u003d duration[0];","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" String to \u003d duration[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" Event event \u003d new Event(description, from, to);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" if (\"X\".equals(status)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" event.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":" tasks.add(event);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"There are no tasks.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"jrchoo"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(gideon, true));","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"jrchoo"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-23"},{"lineNumber":58,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Hello! I\u0027m Gideon\");","lastModifiedDate":"2023-08-23"},{"lineNumber":60,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-08-23"},{"lineNumber":61,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":62,"author":{"gitId":"jrchoo"},"content":" while (true) {","lastModifiedDate":"2023-08-23"},{"lineNumber":63,"author":{"gitId":"jrchoo"},"content":" String userInput \u003d scanner.nextLine();","lastModifiedDate":"2023-08-23"},{"lineNumber":64,"author":{"gitId":"jrchoo"},"content":" if (userInput.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-08-23"},{"lineNumber":65,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-23"},{"lineNumber":66,"author":{"gitId":"jrchoo"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"jrchoo"},"content":" for(int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"jrchoo"},"content":" System.out.println((i + 1) + \". \" + tasks.get(i).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"jrchoo"},"content":" Task markedTask \u003d tasks.get(id - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"jrchoo"},"content":" markedTask.markAsDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"jrchoo"},"content":" System.out.println(markedTask.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":80,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"To mark a task you need to include the index\");","lastModifiedDate":"2023-08-24"},{"lineNumber":81,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"unmark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":83,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":84,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"jrchoo"},"content":" Task unmarkedTask \u003d tasks.get(id - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":86,"author":{"gitId":"jrchoo"},"content":" unmarkedTask.markAsUnDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":88,"author":{"gitId":"jrchoo"},"content":" System.out.println(unmarkedTask.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"To unmark a task you need to include the index\");","lastModifiedDate":"2023-08-24"},{"lineNumber":91,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"unmark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"jrchoo"},"content":" Task unmarkedTask \u003d tasks.get(id - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"jrchoo"},"content":" unmarkedTask.markAsUnDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"jrchoo"},"content":" System.out.println(unmarkedTask.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"jrchoo"},"content":" String description \u003d userInput.substring(5);","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"jrchoo"},"content":" Todo todo \u003d new Todo(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"jrchoo"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"jrchoo"},"content":" writer.write(todo.getDescription().concat(\"\\n\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"jrchoo"},"content":" System.out.println(todo.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":108,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":109,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"jrchoo"},"content":" int index \u003d userInput.indexOf(\"/\");","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"jrchoo"},"content":" String description \u003d userInput.substring(9, index - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"jrchoo"},"content":" String by \u003d userInput.substring(index + 3);","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"jrchoo"},"content":" Deadline deadline \u003d new Deadline(description, by.trim());","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"jrchoo"},"content":" tasks.add(deadline);","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"jrchoo"},"content":" writer.write(deadline.getDescription().concat(\"\\n\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"jrchoo"},"content":" System.out.println(deadline.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! The description of a deadline cannot be empty.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"jrchoo"},"content":" int indexOfFrom \u003d userInput.indexOf(\"/\");","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"jrchoo"},"content":" String description \u003d userInput.substring( 6, indexOfFrom - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"jrchoo"},"content":" String duration \u003d userInput.substring(indexOfFrom + 4);","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"jrchoo"},"content":" int indexOfTo \u003d duration.indexOf(\"/\");","lastModifiedDate":"2023-08-24"},{"lineNumber":130,"author":{"gitId":"jrchoo"},"content":" String from \u003d duration.substring(1, indexOfTo - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":131,"author":{"gitId":"jrchoo"},"content":" String to \u003d duration.substring(indexOfTo + 3);","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"jrchoo"},"content":" Event event \u003d new Event(description, from, to);","lastModifiedDate":"2023-08-24"},{"lineNumber":133,"author":{"gitId":"jrchoo"},"content":" tasks.add(event);","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"jrchoo"},"content":" writer.write(event.getDescription().concat(\"\\n\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"jrchoo"},"content":" System.out.println(event.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":138,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! The description of an event cannot be empty.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"delete\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":142,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"jrchoo"},"content":" Task taskToBeRemoved \u003d tasks.get(id - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":146,"author":{"gitId":"jrchoo"},"content":" System.out.println(taskToBeRemoved.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"jrchoo"},"content":" tasks.remove(taskToBeRemoved);","lastModifiedDate":"2023-08-24"},{"lineNumber":148,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":149,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":150,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"To delete a task you have to include the index\");","lastModifiedDate":"2023-08-24"},{"lineNumber":151,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":152,"author":{"gitId":"jrchoo"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":153,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-24"},{"lineNumber":154,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":155,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":156,"author":{"gitId":"jrchoo"},"content":" reader.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"jrchoo"},"content":" writer.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"jrchoo"},"content":" scanner.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"jrchoo"},"content":" StringBuffer inputString \u003d new StringBuffer();","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"jrchoo"},"content":" for (Task task: tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"jrchoo"},"content":" String line \u003d task.getDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"jrchoo"},"content":" inputString.append(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"jrchoo"},"content":" inputString.append(\"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"jrchoo"},"content":" FileOutputStream fileOut \u003d new FileOutputStream(gideon);","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"jrchoo"},"content":" fileOut.write(inputString.toString().getBytes());","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"jrchoo"},"content":" fileOut.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"jrchoo"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"An error has occurred.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":173,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"jrchoo":169,"-":4}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":" DukeException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" super(message);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":6}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" protected String from;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" protected String to;","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" return \"[E]\" + super.toString() + \" (from:\" + from + \" to:\" + to + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" return \"E\" + super.getDescription() + \" |\" + this.from + \"-\" + this.to;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":21}},{"path":"src/main/java/InvalidDescriptionException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class InvalidDescriptionException extends DukeException {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" InvalidDescriptionException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" super(\"☹ OOPS!!! The description of a \" + message + \" cannot be empty.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":6}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":" protected String description;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" * Returns either a blank or \"X\" depending on the isDone of a Task.","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" * @return A string \"X\" or an empty string \" \".","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" * Sets the boolean isDone of a Task to true.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" * Sets the boolean isDone of a Task to false.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" public void markAsUnDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" * Returns a string representation of the task with its status and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":" * @return A string representing the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" * Returns a string representation of the task to be saved into a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" * @return A string representing the task in a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" return \" |\" + this.getStatusIcon() + \"| \" + this.description;","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":53}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" return \"T\" + super.getDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":17}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"todo borrow book","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"mark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"unmark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":11}}] +[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" private final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" protected LocalDateTime by;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" this.by \u003d LocalDateTime.parse(by, formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Date given is in an invalid format.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.by.format(DateTimeFormatter.ofPattern(\"d MMM yyyy h:mm a\")) + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" return \"D\" + super.getDescription() + \" | \" + this.by.format(formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":27}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" private Ui ui;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" private TaskList taskList;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" private Storage storage;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" private Parser parser;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" this.taskList \u003d new TaskList(storage.loadTasks(), ui);","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" this.parser \u003d new Parser(ui, taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" public void run() {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" ui.welcomeMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" String command \u003d ui.getUserInput();","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" while (parser.parseCommand(command)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" command \u003d ui.getUserInput();","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" storage.saveTasks(taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" ui.exit();","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" new Duke(\"./data/gideon.txt\").run();","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"jrchoo":26,"-":4}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":" DukeException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" super(message);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":6}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" protected String from;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" protected String to;","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" return \"[E]\" + super.toString() + \" (from:\" + from + \" to:\" + to + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" return \"E\" + super.getDescription() + \" |\" + this.from + \"-\" + this.to;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":21}},{"path":"src/main/java/InvalidDescriptionException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class InvalidDescriptionException extends DukeException {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" InvalidDescriptionException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" super(\"☹ OOPS!!! The description of a \" + message + \" cannot be empty.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":6}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Parser {","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" private enum Commands {","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" todo, deadline, event, mark, unmark, list, delete, bye;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" private TaskList taskList;","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" private Ui ui;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" public Parser(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" public boolean parseCommand(String userInput) {","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" if (userInput.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" ui.byeMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" return false;","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" ui.showTasks(taskList);","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"mark\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" taskList.markTaskAsDone(id - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":" ui.markedMessage(taskList.getTask(id - 1));","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"To mark a task you need to include the index\");","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"unmark\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":" taskList.markTaskAsUnDone(id - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" ui.unmarkedMessage(taskList.getTask(id - 1));","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"To unmark a task you need to include the index\");","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"todo\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":" String description \u003d userInput.substring(5);","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":" Todo todo \u003d new Todo(description);","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":" taskList.addTask(todo);","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" ui.addTaskMessage(todo, taskList.numOfTasks());","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" //writer.write(todo.getDescription().concat(\"\\n\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"deadline\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":" int index \u003d userInput.indexOf(\"/\");","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"jrchoo"},"content":" String description \u003d userInput.substring(9, index - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"jrchoo"},"content":" String by \u003d userInput.substring(index + 3);","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"jrchoo"},"content":" Deadline deadline \u003d new Deadline(description, by.trim());","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"jrchoo"},"content":" taskList.addTask(deadline);","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"jrchoo"},"content":" ui.addTaskMessage(deadline, taskList.numOfTasks());","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"jrchoo"},"content":" //writer.write(deadline.getDescription().concat(\"\\n\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! The description of a deadline cannot be empty.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":64,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"event\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"jrchoo"},"content":" int indexOfFrom \u003d userInput.indexOf(\"/\");","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"jrchoo"},"content":" String description \u003d userInput.substring( 6, indexOfFrom - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"jrchoo"},"content":" String duration \u003d userInput.substring(indexOfFrom + 4);","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"jrchoo"},"content":" int indexOfTo \u003d duration.indexOf(\"/\");","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"jrchoo"},"content":" String from \u003d duration.substring(1, indexOfTo - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"jrchoo"},"content":" String to \u003d duration.substring(indexOfTo + 3);","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"jrchoo"},"content":" Event event \u003d new Event(description, from, to);","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"jrchoo"},"content":" taskList.addTask(event);","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"jrchoo"},"content":" ui.addTaskMessage(event, taskList.numOfTasks());","lastModifiedDate":"2023-09-03"},{"lineNumber":75,"author":{"gitId":"jrchoo"},"content":" //writer.write(event.getDescription().concat(\"\\n\"));","lastModifiedDate":"2023-09-03"},{"lineNumber":76,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! The description of an event cannot be empty.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":80,"author":{"gitId":"jrchoo"},"content":" } else if (userInput.startsWith(\"delete\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":81,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"jrchoo"},"content":" int id \u003d Integer.parseInt(userInput.split(\" \")[1]);","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"jrchoo"},"content":" taskList.deleteTask(id - 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"jrchoo"},"content":" return true;","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"jrchoo"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"To delete a task you have to include the index\");","lastModifiedDate":"2023-09-03"},{"lineNumber":87,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":88,"author":{"gitId":"jrchoo"},"content":" } else {","lastModifiedDate":"2023-09-03"},{"lineNumber":89,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-09-03"},{"lineNumber":90,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":91,"author":{"gitId":"jrchoo"},"content":" return false;","lastModifiedDate":"2023-09-03"},{"lineNumber":92,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":93,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"jrchoo":93}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"import java.io.*;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"import java.util.List;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"import java.io.FileOutputStream;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"public class Storage {","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" private File file;","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" private String filePath;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" public List\u003cTask\u003e loadTasks() {","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" BufferedReader reader \u003d new BufferedReader(new FileReader(file));","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" String currentLine;","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" while ((currentLine \u003d reader.readLine()) !\u003d null) {","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" System.out.println(currentLine);","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" String[] taskInfo \u003d currentLine.split(\"\\\\|\");","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" String type \u003d taskInfo[0].trim();","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" String status \u003d taskInfo[1];","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" String description \u003d taskInfo[2].trim();","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":" if (\"T\".equals(type)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":" Todo todo \u003d new Todo(description);","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" if (\"X\".equals(status)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" todo.markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" tasks.add(todo);","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":" } else if (\"D\".equals(type)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" String by \u003d taskInfo[3];","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":" Deadline deadline \u003d new Deadline(description, by.trim());","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" if (\"X\".equals(status)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" deadline.markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":" tasks.add(deadline);","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":" } else if (\"E\".equals(type)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" String[] duration \u003d taskInfo[3].split(\"-\");","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" String from \u003d duration[0];","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":" String to \u003d duration[1];","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":" Event event \u003d new Event(description, from, to);","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":" if (\"X\".equals(status)) {","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" event.markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" tasks.add(event);","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" } else {","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"There are no tasks.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" reader.close();","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"An error has occurred.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"jrchoo"},"content":" return tasks;","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"jrchoo"},"content":" public void saveTasks(TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"jrchoo"},"content":" StringBuffer inputString \u003d new StringBuffer();","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"jrchoo"},"content":" for (Task task: taskList.getTasks()) {","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"jrchoo"},"content":" String line \u003d task.getDescription();","lastModifiedDate":"2023-09-03"},{"lineNumber":64,"author":{"gitId":"jrchoo"},"content":" inputString.append(line);","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"jrchoo"},"content":" inputString.append(\"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"jrchoo"},"content":" try {","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"jrchoo"},"content":" FileOutputStream fileOut \u003d new FileOutputStream(file);","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"jrchoo"},"content":" fileOut.write(inputString.toString().getBytes());","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"jrchoo"},"content":" fileOut.close();","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"jrchoo"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"An error has occurred.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":75,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"jrchoo":75}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":" protected String description;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" * Returns either a blank or \"X\" depending on the isDone of a Task.","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" * @return A string \"X\" or an empty string \" \".","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" * Sets the boolean isDone of a Task to true.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" * Sets the boolean isDone of a Task to false.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" public void markAsUnDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" * Returns a string representation of the task with its status and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":" * @return A string representing the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" * Returns a string representation of the task to be saved into a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" * @return A string representing the task in a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" return \" |\" + this.getStatusIcon() + \"| \" + this.description;","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":53}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"import java.util.List;","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"public class TaskList {","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" private List\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" private Ui ui;","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" public TaskList(List\u003cTask\u003e tasks, Ui ui) {","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" this.tasks.add(task);","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" public void deleteTask(int index) {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" Task task \u003d tasks.get(index);","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" this.tasks.remove(index);","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":" ui.deleteTaskMessage(task, tasks.size());","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" public void markTaskAsDone(int index) {","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" this.tasks.get(index).markAsDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":" public void markTaskAsUnDone(int index) {","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" this.tasks.get(index).markAsUnDone();","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" public List\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":" return this.tasks;","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" public Task getTask(int index) {","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" return this.tasks.get(index);","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":" public int numOfTasks() {","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" return this.tasks.size();","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" StringBuffer outputString \u003d new StringBuffer();","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" for(int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" outputString.append(i + 1);","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" outputString.append(\". \");","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" outputString.append(tasks.get(i).toString());","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":" outputString.append(\"\\n\");","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" return outputString.toString();","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"jrchoo":55}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" return \"T\" + super.getDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":17}},{"path":"src/main/java/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-03"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"public class Ui {","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":" private Scanner scanner;","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":" public Ui() {","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":" this.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":" public static void showLine() {","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"-------------------------------\");","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"jrchoo"},"content":" public void exit() {","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"jrchoo"},"content":" this.scanner.close();","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"jrchoo"},"content":" public String getUserInput() {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"jrchoo"},"content":" return this.scanner.nextLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"jrchoo"},"content":" public void welcomeMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Hello! I\u0027m Gideon\");","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"jrchoo"},"content":" public void byeMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"jrchoo"},"content":" public void createFileMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"File created: Gideon\");","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"jrchoo"},"content":" public void openFileMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Opening saved file.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"jrchoo"},"content":" public void emptyTaskListMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"There are no tasks.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"jrchoo"},"content":" public void showTasks(TaskList taskList) {","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"jrchoo"},"content":" System.out.println(taskList.toString());","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"jrchoo"},"content":" public void markedMessage(Task task) {","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"jrchoo"},"content":" System.out.println(task.toString());","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"jrchoo"},"content":" public void unmarkedMessage(Task task) {","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"jrchoo"},"content":" System.out.println(task.toString());","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":64,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"jrchoo"},"content":" public void addTaskMessage(Task task, int numOfTasks) {","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"jrchoo"},"content":" System.out.println(task.toString());","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Now you have \" + numOfTasks + \" tasks in the list.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"jrchoo"},"content":" public void deleteTaskMessage(Task task, int numOfTasks) {","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":75,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-09-03"},{"lineNumber":76,"author":{"gitId":"jrchoo"},"content":" System.out.println(task.toString());","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"Now you have \" + numOfTasks + \" tasks in the list.\");","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":80,"author":{"gitId":"jrchoo"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":81,"author":{"gitId":"jrchoo"},"content":" public void invalidTaskMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"jrchoo"},"content":" System.out.println(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"jrchoo"},"content":" showLine();","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"jrchoo"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"jrchoo"},"content":"}","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"jrchoo":86}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"jrchoo"},"content":"todo borrow book","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jrchoo"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jrchoo"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jrchoo"},"content":"mark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jrchoo"},"content":"unmark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jrchoo"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jrchoo"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jrchoo":11}}] diff --git a/jrchoo_ip_master/commits.json b/jrchoo_ip_master/commits.json index 2c59437c..5cfcaf5d 100644 --- a/jrchoo_ip_master/commits.json +++ b/jrchoo_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"jrchoo":[{"date":"2023-08-23","commitResults":[{"hash":"459b89427ad5d4f0c71923718df1ae2c886c5619","isMergeCommit":false,"messageTitle":"initial skeletal version and rename","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":6}}},{"hash":"7eac7bbc64f5889ce2d4657a3fcb670bad5073dc","isMergeCommit":false,"messageTitle":"getting the bot to echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"acd7eedea50c71501e96c20e247a2915f0ddab05","isMergeCommit":false,"messageTitle":"added ability to store history in a list","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":2}}},{"hash":"803a54d5de297844b362c1bd7b4732f025a986dd","isMergeCommit":false,"messageTitle":"added a task class with the ability to mark tasks as done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":4}}},{"hash":"a65f5454f9bea447686ac17ec882003dab7cf2cc","isMergeCommit":false,"messageTitle":"added 3 classes, todo, deadline and event that extend from task","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":83,"deletions":6}}},{"hash":"8aa228a8f738650372dd3e3077b0d54b518539bb","isMergeCommit":false,"messageTitle":"input and expected output","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0}}},{"hash":"6223da900309b489dad21043f6c7bf1ca5de6269","isMergeCommit":false,"messageTitle":"created custom exception classes but unable to implement yet, cuurently able to handle the basic errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":38}}},{"hash":"08df9bb6357af9abdf654d9ca03a52b51c76ac0e","isMergeCommit":false,"messageTitle":"delete functionality","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}}]},{"date":"2023-09-01","commitResults":[{"hash":"c5188229289c4d3a87c84298f5f880727e368434","isMergeCommit":false,"messageTitle":"Add a way to store data via the java File import","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":18,"deletions":0}}}]},{"date":"2023-09-02","commitResults":[{"hash":"8f940309d67e8a7fb02a4ecdda3546d04fd6ef8b","isMergeCommit":false,"messageTitle":"Add read and write capabilties to chatbot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":175,"deletions":100}}},{"hash":"0c3d6e8397aad138d46bf322ee9efd0e244954f4","isMergeCommit":false,"messageTitle":"Update chatbot so that file is correctly overwritten at the end","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":17}}},{"hash":"9011ffc39c7c29e777e8d37d30e7c0bda14edd45","isMergeCommit":true,"messageTitle":"Merge branch \u0027b1\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"117271de2c783bc55262529d94e1541d12ff8483","isMergeCommit":false,"messageTitle":"Add LocalDateTime in order to store deadlines as date and time","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":10}}},{"hash":"43b91916295e0b33669b944448806801a7d81689","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"jrchoo":{"java":299,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":11}},"authorContributionVariance":{"jrchoo":10874.375},"authorDisplayNameMap":{"jrchoo":"CS2103T-T12-3 CHOO..RONG"}} +{"authorDailyContributionsMap":{"jrchoo":[{"date":"2023-08-23","commitResults":[{"hash":"459b89427ad5d4f0c71923718df1ae2c886c5619","isMergeCommit":false,"messageTitle":"initial skeletal version and rename","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":6}}},{"hash":"7eac7bbc64f5889ce2d4657a3fcb670bad5073dc","isMergeCommit":false,"messageTitle":"getting the bot to echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"acd7eedea50c71501e96c20e247a2915f0ddab05","isMergeCommit":false,"messageTitle":"added ability to store history in a list","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":2}}},{"hash":"803a54d5de297844b362c1bd7b4732f025a986dd","isMergeCommit":false,"messageTitle":"added a task class with the ability to mark tasks as done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":4}}},{"hash":"a65f5454f9bea447686ac17ec882003dab7cf2cc","isMergeCommit":false,"messageTitle":"added 3 classes, todo, deadline and event that extend from task","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":83,"deletions":6}}},{"hash":"8aa228a8f738650372dd3e3077b0d54b518539bb","isMergeCommit":false,"messageTitle":"input and expected output","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0}}},{"hash":"6223da900309b489dad21043f6c7bf1ca5de6269","isMergeCommit":false,"messageTitle":"created custom exception classes but unable to implement yet, cuurently able to handle the basic errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":38}}},{"hash":"08df9bb6357af9abdf654d9ca03a52b51c76ac0e","isMergeCommit":false,"messageTitle":"delete functionality","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}}]},{"date":"2023-09-01","commitResults":[{"hash":"c5188229289c4d3a87c84298f5f880727e368434","isMergeCommit":false,"messageTitle":"Add a way to store data via the java File import","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":18,"deletions":0}}}]},{"date":"2023-09-02","commitResults":[{"hash":"8f940309d67e8a7fb02a4ecdda3546d04fd6ef8b","isMergeCommit":false,"messageTitle":"Add read and write capabilties to chatbot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":175,"deletions":100}}},{"hash":"0c3d6e8397aad138d46bf322ee9efd0e244954f4","isMergeCommit":false,"messageTitle":"Update chatbot so that file is correctly overwritten at the end","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":35,"deletions":17}}},{"hash":"9011ffc39c7c29e777e8d37d30e7c0bda14edd45","isMergeCommit":true,"messageTitle":"Merge branch \u0027b1\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"117271de2c783bc55262529d94e1541d12ff8483","isMergeCommit":false,"messageTitle":"Add LocalDateTime in order to store deadlines as date and time","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":10}}},{"hash":"43b91916295e0b33669b944448806801a7d81689","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-03","commitResults":[{"hash":"d7ad624e469cb0763d6202e2a6be098aa93ac5ec","isMergeCommit":false,"messageTitle":"Add Ui, Storage, TaskList and Parser classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":198,"deletions":0}}},{"hash":"5df4312a2f66ac98c55f24a36d466cd544bdedb3","isMergeCommit":false,"messageTitle":"Separate main method logic into the classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":140,"deletions":172}}},{"hash":"017357f0f0c7ce54b9046c61cee5486b6ed30c2f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"jrchoo":{"java":465,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":11}},"authorContributionVariance":{"jrchoo":22360.602},"authorDisplayNameMap":{"jrchoo":"CS2103T-T12-3 CHOO..RONG"}} diff --git a/nicolengk_ip_master/authorship.json b/nicolengk_ip_master/authorship.json index d4a66018..9e2e33a9 100644 --- a/nicolengk_ip_master/authorship.json +++ b/nicolengk_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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00275.1.0\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.5.0\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" testImplementation \u0027junit:junit:4.13.1\u0027","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.5.0\u0027","lastModifiedDate":"2020-05-25"},{"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":"nicolengk"},"content":" mainClassName \u003d \"duke.Duke\"","lastModifiedDate":"2023-09-02"},{"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":"nicolengk"},"content":" archiveFileName \u003d \u0027duke.jar\u0027","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"nicolengk":3,"-":40}},{"path":"data.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"T | 1 | read book","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"D | 0 | eat | 2020-12-30 10:40","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"E | 0 | play | 2020-12-12 12:12 | 2020-12-12 12:12","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"T | 0 | eat","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":4}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.utils.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import duke.utils.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import duke.utils.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import duke.utils.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" * Creates a Duke object.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"public class Duke {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" private Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" private Ui ui \u003d new Ui();","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" private Storage storage \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" private TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" * Runs the Duke chatbot.","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" public void run () {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" //Load tasks from file","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" this.storage.loadTasksFromFile(tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" //Greeting","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" this.ui.printGreeting();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" //Processing user commands","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" while (true) {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" //Read user input","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" String userInput \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" Parser parser \u003d new Parser(userInput);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" //Check for exit command first","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" if (userInput.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" String userCommand \u003d parser.inputCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" if (userCommand.equals(\"LIST\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" this.ui.printList(tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"MARK\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.markTaskDone(parser.getTaskNumber());","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\\n\" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"UNMARK\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.unmarkTask(parser.getTaskNumber());","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n\" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"TODO\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.addTodoTask(parser.getTodoDescription());","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n \" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"DEADLINE\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" String[] descriptionAndDateTime \u003d parser.getDeadlineDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.addDeadlineTask(descriptionAndDateTime[0], parser.getDateTime(descriptionAndDateTime[1]));","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n \" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"EVENT\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" String[] deadlineDescription \u003d parser.getEventDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.addEventTask(deadlineDescription[0], parser.getDateTime(deadlineDescription[1]),","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" parser.getDateTime(deadlineDescription[2]));","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n \" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"DELETE\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.deleteTask(parser.getTaskNumber());","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" this.ui.printList(tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"FIND\")){","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" List\u003cTask\u003e matchingTasks \u003d this.tasks.findTasksByKeyword(parser.getStringKeyword());","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" this.ui.printList(matchingTasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" this.storage.saveTasksToFile(this.tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"☹ OOPS!!! \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" this.ui.printFarewell();","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":" new Duke().run();","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"nicolengk":83,"-":1}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":" * Custom exception class for Duke, a task management application.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":" * This exception is used to handle errors and exceptional situations specific to Duke.","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" * Constructs a new DukeException with the specified detail message.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" * @param message the detail message","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" public DukeException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" super(message);","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":15}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" * The `Deadline` class represents a task with a description and a deadline date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" * It is a subclass of the `Task` class.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" private LocalDateTime by;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Deadline` task with the given description and deadline date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" * @param by The deadline date and time of the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" public Deadline(String description, LocalDateTime by) {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the deadline task for display to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string containing the task type, status, description, and deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" public String toString () {","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" return \"[D]\" + super.toString() + \" (by: \" + by.format(formatter) + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" * Converts the deadline task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task type, status, description, and deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" return \"D\"+ \" | \" + super.toFileString() + \" | \" + by.format(formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" * Creates a `Deadline` task object from a data string. Used for deserialization.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing deadline task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" * @return A `Deadline` task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" public static Deadline createDeadlineFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 3 \u0026\u0026 taskParts[0].trim().equals(\"D\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" LocalDateTime by \u003d LocalDateTime.parse(taskParts[3].trim(), formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" Deadline deadline \u003d new Deadline(description, by);","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" deadline.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" return deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" return null; // incomplete data.txt","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":66}},{"path":"src/main/java/duke/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" * The `Event` class represents a task with a description and a from and to date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" * It is a subclass of the `Task` class.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" private LocalDateTime from;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" private LocalDateTime to;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Event` task with the given description, start date and time, and end date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" * @param from The start date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" * @param to The end date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" public Event(String description, LocalDateTime from, LocalDateTime to) {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the event task for display to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string containing the task type, status, description, start date, and end date.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" public String toString () {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" return \"[E]\" + super.toString() + \" (from: \" + from.format(formatter) + \" to: \" + to.format(formatter) + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" * Converts the event task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task type, status, description, start date, and end date.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" return \"E\" + \" | \" + super.toFileString() + \" | \" + from.format(formatter) + \" | \" + to.format(formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" * Creates an `Event` task object from a data string. Used for deserialization.","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing event task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" * @return An `Event` task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" public static Event createEventFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 4 \u0026\u0026 taskParts[0].trim().equals(\"E\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" LocalDateTime from \u003d LocalDateTime.parse(taskParts[3].trim(), formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" LocalDateTime to \u003d LocalDateTime.parse(taskParts[4].trim(), formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" Event event \u003d new Event(description, from, to);","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" event.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" return event;","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" return null; // incomplete data.txt","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":71}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":" * The `Task` class represents a basic task with a description and a completion status.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" protected String description;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" protected boolean isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" * Constructs a new task with the given description, initially marked as not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" public Task (String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" * Returns the type of the task. Subclasses should override this method.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" * @return An empty string for the base class.","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" public String getTaskType() {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" return \"\"; // Return an empty string for the base class","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" * Marks the task as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" public void markDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" * Marks the task as undone.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" public void markNotDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" * Checks if the task is marked as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" * @return `true` if the task is done, otherwise `false`.","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" public boolean getIsDone() {","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" return this.isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the task\u0027s completion status.","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" * @return \"X\" if the task is done, or a space character if it\u0027s not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" public String taskStatus() {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" return isDone ? \"X\" : \" \";","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" * Converts the task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task\u0027s data.","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" return this.description;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" char doneStatus \u003d isDone ? \u00271\u0027 : \u00270\u0027;","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" return doneStatus + \" | \" + description;","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" * Converts the task to a string representation for displaying to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task\u0027s type, status, and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" return getTaskType() + \" [\" + taskStatus() + \"] \" + description;","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"nicolengk"},"content":" * Creates a task object from a data string","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"nicolengk"},"content":" * @return A task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"nicolengk"},"content":" public static Task createTaskFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 3) {","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"nicolengk"},"content":" String taskType \u003d taskParts[0].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"nicolengk"},"content":" Task task;","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"nicolengk"},"content":" if (taskType.equals(\"T\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"nicolengk"},"content":" task \u003d Todo.createTodoFromData(taskData);","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"nicolengk"},"content":" } else if (taskType.equals(\"D\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"nicolengk"},"content":" task \u003d Deadline.createDeadlineFromData(taskData);","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"nicolengk"},"content":" } else if (taskType.equals(\"E\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"nicolengk"},"content":" task \u003d Event.createEventFromData(taskData);","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Unrecognized task type: \" + taskType);","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"nicolengk"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":109,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":110,"author":{"gitId":"nicolengk"},"content":" task.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":111,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":112,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-01"},{"lineNumber":113,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":114,"author":{"gitId":"nicolengk"},"content":" return null; // Incomplete data","lastModifiedDate":"2023-09-01"},{"lineNumber":115,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":116,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":116}},{"path":"src/main/java/duke/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":" * The Todo class represents a task with a description","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":" * , which is a subclass of the `Task` class.","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Todo` task with the given description.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the todo task for display to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string containing the task type and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" * Converts the todo task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task type and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" char taskType \u003d \u0027T\u0027;","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" return taskType + \" | \" + super.toFileString();","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" * Creates a `Todo` task object from a data string. Used for deserialization.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing todo task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" * @return A `Todo` task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" public static Todo createTodoFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 3 \u0026\u0026 taskParts[0].trim().equals(\"T\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" Todo todo \u003d new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" todo.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" return todo;","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" return null; // Incomplete data","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":57}},{"path":"src/main/java/duke/utils/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" * The `Parser` class is responsible for parsing user input and extracting relevant information","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" * for further processing by the Duke chatbot.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" private List\u003cString\u003e inputArray;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Parser` with an empty input array.","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" public Parser() {","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Parser` with user input and splits it into an array of words.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" * @param userInput The user input string to be parsed.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" public Parser(String userInput) {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" this.inputArray \u003d Arrays.asList(userInput.split(\" \"));","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * Extracts the command keyword from the user input.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" * @return The extracted command keyword in uppercase.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" public String inputCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" return inputArray.get(0).toUpperCase();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" * Extracts the command keyword from the user input.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" * @return The extracted command keyword in uppercase.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" public int getTaskNumber() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" int taskIndex \u003d Integer.parseInt(inputArray.get(1)) - 1;","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" return taskIndex;","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description of a todo task from the user input.","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" * @return The description of the todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the description is empty.","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" public String getTodoDescription() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" if (this.inputArray.size() \u003c\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"The description of a todo cannot be empty.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" String description \u003d String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" return description;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description and deadline date/time from the user input for a deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":" * @return An array containing the description and deadline date/time.","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the description is empty or if the date/time format is incorrect.","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" public String[] getDeadlineDescription() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" if (this.inputArray.size() \u003c\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"The description of a deadline cannot be empty.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" String description \u003d String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" return description.split(\" /by \");","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description and event date/times from the user input for an event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"nicolengk"},"content":" * @return An array containing the description, start date/time, and end date/time.","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the description is empty, if time and date are missing, or if the format is incorrect.","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"nicolengk"},"content":" public String[] getEventDescription() throws DukeException{","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"nicolengk"},"content":" if (this.inputArray.size() \u003c\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"The description of a event cannot be empty.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"nicolengk"},"content":" String description \u003d String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"nicolengk"},"content":" String[] descriptionAndDateTimes \u003d description.split(\" /from \");","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"nicolengk"},"content":" if (descriptionAndDateTimes.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Time and date required\");","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"nicolengk"},"content":" String[] fromAndToDateTimes \u003d descriptionAndDateTimes[1].split(\" /to \");","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"nicolengk"},"content":" if (fromAndToDateTimes.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Time and date required\");","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"nicolengk"},"content":" return new String[] {descriptionAndDateTimes[0],fromAndToDateTimes[0], fromAndToDateTimes[1]};","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"nicolengk"},"content":" * Converts a date/time string to a LocalDateTime object.","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"nicolengk"},"content":" * @param dateTime The date/time string to be converted.","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"nicolengk"},"content":" * @return A LocalDateTime object representing the parsed date/time.","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the date/time format is incorrect.","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"nicolengk"},"content":" public LocalDateTime getDateTime(String dateTime) throws DukeException{","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"nicolengk"},"content":" return LocalDateTime.parse(dateTime, formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"nicolengk"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Sorry! Incorrect format for time and date :(\");","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"nicolengk"},"content":" public String getStringKeyword() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"nicolengk"},"content":" return String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":128}},{"path":"src/main/java/duke/utils/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" * The `Storage` class handles reading and writing tasks to a data file.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" private static final String DATA_FILE_PATH \u003d \"data.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" * Saves a list of tasks to a data file.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list of tasks to be saved.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If an error occurs during file writing.","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" public void saveTasksToFile(List\u003cTask\u003e toDoList) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" FileWriter writer \u003d new FileWriter(DATA_FILE_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" for (Task task : toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" writer.write(task.toFileString() + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" writer.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" * Loads tasks from a data file into a list.","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list where loaded tasks will be added.","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" public void loadTasksFromFile(List\u003cTask\u003e toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" File file \u003d new File(DATA_FILE_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" if (file.exists()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" Scanner scanner \u003d new Scanner(file);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" while (scanner.hasNextLine()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" String taskData \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" Task task \u003d Task.createTaskFromData(taskData);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" if (task !\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" toDoList.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" scanner.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Error loading tasks from file: \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":60}},{"path":"src/main/java/duke/utils/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import duke.task.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import duke.task.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" * The `TaskList` class represents a list of tasks and provides methods for managing tasks within the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" private List\u003cTask\u003e toDoList;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" * Constructs a `TaskList` with an existing list of tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list of tasks to initialize the `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" public TaskList(List\u003cTask\u003e toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" this.toDoList \u003d toDoList;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" * Constructs an empty `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" this.toDoList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * Retrieves the list of tasks contained in the `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" * @return The list of tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" public List\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" return toDoList;","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" * Retrieves the number of tasks in the `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" * @return The number of tasks in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" public int getSize() {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" return toDoList.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" * Marks a task as done based on its index in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" * @param taskIndex The index of the task to mark as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" * @return The task that was marked as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the task index is invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" public Task markTaskDone(int taskIndex) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(taskIndex);","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" task.markDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" * Unmarks a task as done based on its index in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" * @param taskIndex The index of the task to unmark as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" * @return The task that was unmarked as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the task index is invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" public Task unmarkTask(int taskIndex) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(taskIndex);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" task.markNotDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"nicolengk"},"content":" * Adds a new todo task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"nicolengk"},"content":" * @param todoDescription The description of the todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"nicolengk"},"content":" * @return The newly added todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If there is an issue adding the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"nicolengk"},"content":" public Task addTodoTask(String todoDescription) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"nicolengk"},"content":" Task newTask \u003d new Todo(todoDescription);","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"nicolengk"},"content":" toDoList.add(newTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"nicolengk"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"nicolengk"},"content":" * Adds a new deadline task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"nicolengk"},"content":" * @param dateTime The deadline date and time of the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"nicolengk"},"content":" * @return The newly added deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If there is an issue adding the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"nicolengk"},"content":" public Task addDeadlineTask(String description, LocalDateTime dateTime) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"nicolengk"},"content":" Task newTask \u003d new Deadline(description, dateTime);","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"nicolengk"},"content":" toDoList.add(newTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"nicolengk"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"nicolengk"},"content":" * Adds a new event task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"nicolengk"},"content":" * @param fromDatetime The starting date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"nicolengk"},"content":" * @param toDateTime The ending date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"nicolengk"},"content":" * @return The newly added event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If there is an issue adding the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"nicolengk"},"content":" public Task addEventTask(String description, LocalDateTime fromDatetime, LocalDateTime toDateTime) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"nicolengk"},"content":" Task newTask \u003d new Event(description, fromDatetime, toDateTime);","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"nicolengk"},"content":" toDoList.add(newTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"nicolengk"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"nicolengk"},"content":" * Deletes a task from the list based on its index.","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"nicolengk"},"content":" * @param taskNumber The index of the task to be deleted.","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"nicolengk"},"content":" * @return The task that was deleted.","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the task index is invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"nicolengk"},"content":" public Task deleteTask(int taskNumber) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(taskNumber);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"nicolengk"},"content":" toDoList.remove(taskNumber);","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"nicolengk"},"content":" public List\u003cTask\u003e findTasksByKeyword(String keyword) {","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"nicolengk"},"content":" List\u003cTask\u003e matchingTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"nicolengk"},"content":" for (int i \u003d 0; i \u003c toDoList.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"nicolengk"},"content":" if (task.getDescription().contains(keyword)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"nicolengk"},"content":" matchingTasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"nicolengk"},"content":" if (matchingTasks.size() \u003c 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"OOPS! No matching tasks found\");","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"nicolengk"},"content":" return matchingTasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":156}},{"path":"src/main/java/duke/utils/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" * The `Ui` class handles user interface interactions and provides methods for printing messages","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" * and information to the console.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class Ui {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" * Prints a greeting message with the application\u0027s logo.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" public void printGreeting() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"\\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" \" ____ __ ____ __ \\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" \"/ ___) / _\\\\ ( _ \\\\ / _\\\\ \\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" \"\\\\___ \\\\/ \\\\ ) // \\\\\\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" \"(____/\\\\_/\\\\_/(__\\\\_)\\\\_/\\\\_/\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Hello! I\u0027m Sara\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" * Prints a farewell message when the user exits the application.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" public void printFarewell() {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" * Prints a list of tasks from the provided `toDoList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list of tasks to be displayed.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" public void printList(List\u003cTask\u003e toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Here are the tasks in your List:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" for (int i \u003d 0; i \u003c toDoList.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" System.out.println(((i + 1) + \". \" + toDoList.get(i)));","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":42}},{"path":"src/test/java/duke/task/TaskTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.utils.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class TaskTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" public void markTaskDone_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \"X\");","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" public void markNotDone_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \"X\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" task.unmarkTask(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" public void toStringToDo_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).toString(), \"[T] [ ] test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).toString(), \"[T] [X] test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" task.unmarkTask(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).toString(), \"[T] [ ] test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":46}},{"path":"src/test/java/duke/utils/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"public class TaskListTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" public void markTaskDone_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).getIsDone(), true);","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" public void markTaskDone_invalidTaskNumber() {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(4);","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" assertEquals(e.getMessage(), \"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":27}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"todo borrow book","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"mark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"unmark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"blah","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"bye","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"nicolengk":8}}] +[{"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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00275.1.0\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.5.0\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" testImplementation \u0027junit:junit:4.13.1\u0027","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.5.0\u0027","lastModifiedDate":"2020-05-25"},{"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":"nicolengk"},"content":" mainClassName \u003d \"duke.Duke\"","lastModifiedDate":"2023-09-02"},{"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":"nicolengk"},"content":" archiveFileName \u003d \u0027duke.jar\u0027","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"nicolengk":3,"-":40}},{"path":"data.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"T | 1 | read book","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"D | 0 | eat | 2020-12-30 10:40","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"E | 0 | play | 2020-12-12 12:12 | 2020-12-12 12:12","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"T | 0 | eat","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":4}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.utils.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import duke.utils.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import duke.utils.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import duke.utils.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" * Creates a Duke object.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"public class Duke {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" private Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" private Ui ui \u003d new Ui();","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" private Storage storage \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" private TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" * Runs the Duke chatbot.","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" public void run () {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" //Load tasks from file","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" this.storage.loadTasksFromFile(tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" //Greeting","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" this.ui.printGreeting();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" //Processing user commands","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" while (true) {","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" //Read user input","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" String userInput \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" Parser parser \u003d new Parser(userInput);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" //Check for exit command first","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" if (userInput.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" break;","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" String userCommand \u003d parser.inputCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" if (userCommand.equals(\"LIST\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" this.ui.printList(tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"MARK\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.markTaskDone(parser.getTaskNumber());","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\\n\" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"UNMARK\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.unmarkTask(parser.getTaskNumber());","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n\" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"TODO\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.addTodoTask(parser.getTodoDescription());","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n \" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"DEADLINE\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" String[] descriptionAndDateTime \u003d parser.getDeadlineDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.addDeadlineTask(descriptionAndDateTime[0], parser.getDateTime(descriptionAndDateTime[1]));","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n \" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"EVENT\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" String[] deadlineDescription \u003d parser.getEventDescription();","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.addEventTask(deadlineDescription[0], parser.getDateTime(deadlineDescription[1]),","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" parser.getDateTime(deadlineDescription[2]));","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n \" + task);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"DELETE\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" Task task \u003d this.tasks.deleteTask(parser.getTaskNumber());","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Now you have \" + tasks.getSize() + \" tasks in the list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" this.ui.printList(tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" } else if (userCommand.equals(\"FIND\")){","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" List\u003cTask\u003e matchingTasks \u003d this.tasks.findTasksByKeyword(parser.getStringKeyword());","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" this.ui.printList(matchingTasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" this.storage.saveTasksToFile(this.tasks.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"☹ OOPS!!! \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" this.ui.printFarewell();","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":" new Duke().run();","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"nicolengk":83,"-":1}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":" * Custom exception class for Duke, a task management application.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":" * This exception is used to handle errors and exceptional situations specific to Duke.","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" * Constructs a new DukeException with the specified detail message.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" * @param message the detail message","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" public DukeException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" super(message);","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":15}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" * The `Deadline` class represents a task with a description and a deadline date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" * It is a subclass of the `Task` class.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" private LocalDateTime by;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Deadline` task with the given description and deadline date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" * @param by The deadline date and time of the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" public Deadline(String description, LocalDateTime by) {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the deadline task for display to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string containing the task type, status, description, and deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" public String toString () {","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" return \"[D]\" + super.toString() + \" (by: \" + by.format(formatter) + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" * Converts the deadline task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task type, status, description, and deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" return \"D\"+ \" | \" + super.toFileString() + \" | \" + by.format(formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" * Creates a `Deadline` task object from a data string. Used for deserialization.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing deadline task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" * @return A `Deadline` task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" public static Deadline createDeadlineFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 3 \u0026\u0026 taskParts[0].trim().equals(\"D\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" LocalDateTime by \u003d LocalDateTime.parse(taskParts[3].trim(), formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" Deadline deadline \u003d new Deadline(description, by);","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" deadline.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" return deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" return null; // incomplete data.txt","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":66}},{"path":"src/main/java/duke/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" * The `Event` class represents a task with a description and a from and to date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" * It is a subclass of the `Task` class.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" private LocalDateTime from;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" private LocalDateTime to;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Event` task with the given description, start date and time, and end date and time.","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" * @param from The start date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" * @param to The end date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" public Event(String description, LocalDateTime from, LocalDateTime to) {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the event task for display to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string containing the task type, status, description, start date, and end date.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" public String toString () {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" return \"[E]\" + super.toString() + \" (from: \" + from.format(formatter) + \" to: \" + to.format(formatter) + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" * Converts the event task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task type, status, description, start date, and end date.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" return \"E\" + \" | \" + super.toFileString() + \" | \" + from.format(formatter) + \" | \" + to.format(formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" * Creates an `Event` task object from a data string. Used for deserialization.","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing event task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" * @return An `Event` task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" public static Event createEventFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 4 \u0026\u0026 taskParts[0].trim().equals(\"E\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" LocalDateTime from \u003d LocalDateTime.parse(taskParts[3].trim(), formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" LocalDateTime to \u003d LocalDateTime.parse(taskParts[4].trim(), formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" Event event \u003d new Event(description, from, to);","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" event.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" return event;","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" return null; // incomplete data.txt","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":70}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":" * The `Task` class represents a basic task with a description and a completion status.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" protected String description;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" protected boolean isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" * Constructs a new task with the given description, initially marked as not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" public Task (String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" * Returns the type of the task. Subclasses should override this method.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" * @return An empty string for the base class.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" public String getTaskType() {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" return \"\"; // Return an empty string for the base class","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" * Marks the task as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" public void markDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * Marks the task as undone.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" public void markNotDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" * Checks if the task is marked as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" * @return `true` if the task is done, otherwise `false`.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" public boolean getIsDone() {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" return this.isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the task\u0027s completion status.","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" * @return \"X\" if the task is done, or a space character if it\u0027s not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" public String taskStatus() {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" return isDone ? \"X\" : \" \";","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description of a task.","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" * @return The description of the task as a string.","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" return this.description;","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" * Converts the task to a string representation for saving to a file.","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task\u0027s data.","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" char doneStatus \u003d isDone ? \u00271\u0027 : \u00270\u0027;","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" return doneStatus + \" | \" + description;","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" * Converts the task to a string representation for displaying to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task\u0027s type, status, and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" return getTaskType() + \" [\" + taskStatus() + \"] \" + description;","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"nicolengk"},"content":" * Creates a task object from a data string","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"nicolengk"},"content":" * @return A task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"nicolengk"},"content":" public static Task createTaskFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 3) {","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"nicolengk"},"content":" String taskType \u003d taskParts[0].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"nicolengk"},"content":" Task task;","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"nicolengk"},"content":" if (taskType.equals(\"T\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"nicolengk"},"content":" task \u003d Todo.createTodoFromData(taskData);","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"nicolengk"},"content":" } else if (taskType.equals(\"D\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"nicolengk"},"content":" task \u003d Deadline.createDeadlineFromData(taskData);","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"nicolengk"},"content":" } else if (taskType.equals(\"E\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"nicolengk"},"content":" task \u003d Event.createEventFromData(taskData);","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Unrecognized task type: \" + taskType);","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"nicolengk"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":109,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":110,"author":{"gitId":"nicolengk"},"content":" task.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":111,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":112,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-01"},{"lineNumber":113,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":114,"author":{"gitId":"nicolengk"},"content":" return null; // Incomplete data","lastModifiedDate":"2023-09-01"},{"lineNumber":115,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":116,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"nicolengk":116}},{"path":"src/main/java/duke/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":" * The Todo class represents a task with a description","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":" * , which is a subclass of the `Task` class.","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Todo` task with the given description.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" * Returns a string representation of the todo task for display to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string containing the task type and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" * Converts the todo task to a string representation for saving to a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" * @return A formatted string representing the task type and description.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" public String toFileString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" char taskType \u003d \u0027T\u0027;","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" return taskType + \" | \" + super.toFileString();","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" * Creates a `Todo` task object from a data string. Used for deserialization.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" * @param taskData The data string containing todo task information.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" * @return A `Todo` task object created from the data string, or `null` if the data is incomplete or invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" public static Todo createTodoFromData(String taskData) {","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" String[] taskParts \u003d taskData.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" if (taskParts.length \u003e\u003d 3 \u0026\u0026 taskParts[0].trim().equals(\"T\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" String doneStatus \u003d taskParts[1].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" String description \u003d taskParts[2].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" Todo todo \u003d new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" if (doneStatus.equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" todo.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" return todo;","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" return null; // Incomplete data","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":57}},{"path":"src/main/java/duke/utils/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"import java.util.Arrays;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" * The `Parser` class is responsible for parsing user input and extracting relevant information","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" * for further processing by the Duke chatbot.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" private List\u003cString\u003e inputArray;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Parser` with an empty input array.","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" public Parser() {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" * Constructs a new `Parser` with user input and splits it into an array of words.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" * @param userInput The user input string to be parsed.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" public Parser(String userInput) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" this.inputArray \u003d Arrays.asList(userInput.split(\" \"));","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" * Extracts the command keyword from the user input.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * @return The extracted command keyword in uppercase.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" public String inputCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" return inputArray.get(0).toUpperCase();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" * Extracts the command keyword from the user input.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" * @return The extracted command keyword in uppercase.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" public int getTaskNumber() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" int taskIndex \u003d Integer.parseInt(inputArray.get(1)) - 1;","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" return taskIndex;","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description of a todo task from the user input.","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" * @return The description of the todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the description is empty.","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" public String getTodoDescription() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" if (this.inputArray.size() \u003c\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"The description of a todo cannot be empty.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" String description \u003d String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" return description;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description and deadline date/time from the user input for a deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" * @return An array containing the description and deadline date/time.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the description is empty or if the date/time format is incorrect.","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" public String[] getDeadlineDescription() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" if (this.inputArray.size() \u003c\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"The description of a deadline cannot be empty.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" String description \u003d String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" return description.split(\" /by \");","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"nicolengk"},"content":" * Retrieves the description and event date/times from the user input for an event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"nicolengk"},"content":" * @return An array containing the description, start date/time, and end date/time.","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the description is empty, if time and date are missing, or if the format is incorrect.","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"nicolengk"},"content":" public String[] getEventDescription() throws DukeException{","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"nicolengk"},"content":" if (this.inputArray.size() \u003c\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"The description of a event cannot be empty.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"nicolengk"},"content":" String description \u003d String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"nicolengk"},"content":" String[] descriptionAndDateTimes \u003d description.split(\" /from \");","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"nicolengk"},"content":" if (descriptionAndDateTimes.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Time and date required\");","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"nicolengk"},"content":" String[] fromAndToDateTimes \u003d descriptionAndDateTimes[1].split(\" /to \");","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"nicolengk"},"content":" if (fromAndToDateTimes.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Time and date required\");","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"nicolengk"},"content":" return new String[] {descriptionAndDateTimes[0],fromAndToDateTimes[0], fromAndToDateTimes[1]};","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"nicolengk"},"content":" * Converts a date/time string to a LocalDateTime object.","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"nicolengk"},"content":" * @param dateTime The date/time string to be converted.","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"nicolengk"},"content":" * @return A LocalDateTime object representing the parsed date/time.","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the date/time format is incorrect.","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"nicolengk"},"content":" public LocalDateTime getDateTime(String dateTime) throws DukeException{","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"nicolengk"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"nicolengk"},"content":" return LocalDateTime.parse(dateTime, formatter);","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"nicolengk"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Sorry! Incorrect format for time and date :(\");","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":121,"author":{"gitId":"nicolengk"},"content":" * Retrieves a concatenated string representation of keywords from an input array.","lastModifiedDate":"2023-09-03"},{"lineNumber":122,"author":{"gitId":"nicolengk"},"content":" * @return The concatenated string containing keywords.","lastModifiedDate":"2023-09-03"},{"lineNumber":123,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If an IndexOutOfBoundsException occurs while accessing the input array.","lastModifiedDate":"2023-09-03"},{"lineNumber":124,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":125,"author":{"gitId":"nicolengk"},"content":" public String getStringKeyword() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"nicolengk"},"content":" return String.join(\" \", this.inputArray.subList(1, this.inputArray.size()));","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":132}},{"path":"src/main/java/duke/utils/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" * The `Storage` class handles reading and writing tasks to a data file.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" private static final String DATA_FILE_PATH \u003d \"data.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" * Saves a list of tasks to a data file.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list of tasks to be saved.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If an error occurs during file writing.","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" public void saveTasksToFile(List\u003cTask\u003e toDoList) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" FileWriter writer \u003d new FileWriter(DATA_FILE_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" for (Task task : toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" writer.write(task.toFileString() + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" writer.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" * Loads tasks from a data file into a list.","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list where loaded tasks will be added.","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" public void loadTasksFromFile(List\u003cTask\u003e toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" File file \u003d new File(DATA_FILE_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" if (file.exists()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" Scanner scanner \u003d new Scanner(file);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" while (scanner.hasNextLine()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" String taskData \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":" Task task \u003d Task.createTaskFromData(taskData);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" if (task !\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" toDoList.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" scanner.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Error loading tasks from file: \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":60}},{"path":"src/main/java/duke/utils/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import duke.task.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import duke.task.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" * The `TaskList` class represents a list of tasks and provides methods for managing tasks within the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" private List\u003cTask\u003e toDoList;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" * Constructs a `TaskList` with an existing list of tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list of tasks to initialize the `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" public TaskList(List\u003cTask\u003e toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" this.toDoList \u003d toDoList;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" * Constructs an empty `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" this.toDoList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" * Retrieves the list of tasks contained in the `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" * @return The list of tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" public List\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" return toDoList;","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" * Retrieves the number of tasks in the `TaskList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" * @return The number of tasks in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":" public int getSize() {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"nicolengk"},"content":" return toDoList.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"nicolengk"},"content":" * Marks a task as done based on its index in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"nicolengk"},"content":" * @param taskIndex The index of the task to mark as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"nicolengk"},"content":" * @return The task that was marked as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the task index is invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"nicolengk"},"content":" public Task markTaskDone(int taskIndex) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(taskIndex);","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"nicolengk"},"content":" task.markDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"nicolengk"},"content":" * Unmarks a task as done based on its index in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"nicolengk"},"content":" * @param taskIndex The index of the task to unmark as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"nicolengk"},"content":" * @return The task that was unmarked as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the task index is invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"nicolengk"},"content":" public Task unmarkTask(int taskIndex) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(taskIndex);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"nicolengk"},"content":" task.markNotDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"nicolengk"},"content":" * Adds a new todo task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"nicolengk"},"content":" * @param todoDescription The description of the todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"nicolengk"},"content":" * @return The newly added todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If there is an issue adding the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"nicolengk"},"content":" public Task addTodoTask(String todoDescription) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"nicolengk"},"content":" Task newTask \u003d new Todo(todoDescription);","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"nicolengk"},"content":" toDoList.add(newTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"nicolengk"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"nicolengk"},"content":" * Adds a new deadline task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"nicolengk"},"content":" * @param dateTime The deadline date and time of the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"nicolengk"},"content":" * @return The newly added deadline task.","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If there is an issue adding the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"nicolengk"},"content":" public Task addDeadlineTask(String description, LocalDateTime dateTime) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"nicolengk"},"content":" Task newTask \u003d new Deadline(description, dateTime);","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"nicolengk"},"content":" toDoList.add(newTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"nicolengk"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"nicolengk"},"content":" * Adds a new event task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"nicolengk"},"content":" * @param description The description of the event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"nicolengk"},"content":" * @param fromDatetime The starting date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"nicolengk"},"content":" * @param toDateTime The ending date and time of the event.","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"nicolengk"},"content":" * @return The newly added event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If there is an issue adding the task.","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"nicolengk"},"content":" public Task addEventTask(String description, LocalDateTime fromDatetime, LocalDateTime toDateTime) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"nicolengk"},"content":" Task newTask \u003d new Event(description, fromDatetime, toDateTime);","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"nicolengk"},"content":" toDoList.add(newTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"nicolengk"},"content":" return newTask;","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"nicolengk"},"content":" * Deletes a task from the list based on its index.","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"nicolengk"},"content":" * @param taskNumber The index of the task to be deleted.","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"nicolengk"},"content":" * @return The task that was deleted.","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"nicolengk"},"content":" * @throws DukeException If the task index is invalid.","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"nicolengk"},"content":" public Task deleteTask(int taskNumber) throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(taskNumber);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"nicolengk"},"content":" toDoList.remove(taskNumber);","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"nicolengk"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"nicolengk"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"nicolengk"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"nicolengk"},"content":" throw new DukeException(\"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":144,"author":{"gitId":"nicolengk"},"content":" * Searches for tasks in a to-do list based on a specified keyword in their descriptions.","lastModifiedDate":"2023-09-03"},{"lineNumber":145,"author":{"gitId":"nicolengk"},"content":" * @param keyword The keyword to search for within task descriptions.","lastModifiedDate":"2023-09-03"},{"lineNumber":146,"author":{"gitId":"nicolengk"},"content":" * @return A list of tasks that contain the specified keyword in their descriptions.","lastModifiedDate":"2023-09-03"},{"lineNumber":147,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":148,"author":{"gitId":"nicolengk"},"content":" public List\u003cTask\u003e findTasksByKeyword(String keyword) {","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"nicolengk"},"content":" List\u003cTask\u003e matchingTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"nicolengk"},"content":" for (int i \u003d 0; i \u003c toDoList.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"nicolengk"},"content":" Task task \u003d toDoList.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"nicolengk"},"content":" if (task.getDescription().contains(keyword)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"nicolengk"},"content":" matchingTasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"nicolengk"},"content":" if (matchingTasks.size() \u003c 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"OOPS! No matching tasks found\");","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"nicolengk"},"content":" return matchingTasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":161}},{"path":"src/main/java/duke/utils/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":" * The `Ui` class handles user interface interactions and provides methods for printing messages","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":" * and information to the console.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class Ui {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" * Prints a greeting message with the application\u0027s logo.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" public void printGreeting() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"\\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" \" ____ __ ____ __ \\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" \"/ ___) / _\\\\ ( _ \\\\ / _\\\\ \\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" \"\\\\___ \\\\/ \\\\ ) // \\\\\\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" \"(____/\\\\_/\\\\_/(__\\\\_)\\\\_/\\\\_/\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Hello! I\u0027m Sara\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"What can I do for you?\");","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" * Prints a farewell message when the user exits the application.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" public void printFarewell() {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":" * Prints a list of tasks from the provided `toDoList`.","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" * @param toDoList The list of tasks to be displayed.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" public void printList(List\u003cTask\u003e toDoList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" System.out.println(\"Here are the tasks in your List:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" for (int i \u003d 0; i \u003c toDoList.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":" System.out.println(((i + 1) + \". \" + toDoList.get(i)));","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":42}},{"path":"src/test/java/duke/task/TaskTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import duke.utils.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":"public class TaskTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" public void markTaskDone_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \"X\");","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" public void markNotDone_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \"X\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"nicolengk"},"content":" task.unmarkTask(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).taskStatus(), \" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"nicolengk"},"content":" public void toStringToDo_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).toString(), \"[T] [ ] test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).toString(), \"[T] [X] test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"nicolengk"},"content":" task.unmarkTask(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).toString(), \"[T] [ ] test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":46}},{"path":"src/test/java/duke/utils/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"package duke.utils;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"public class TaskListTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"nicolengk"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"nicolengk"},"content":" public void markTaskDone_success() throws DukeException {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"nicolengk"},"content":" assertEquals(task.getTasks().get(0).getIsDone(), true);","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"nicolengk"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"nicolengk"},"content":" public void markTaskDone_invalidTaskNumber() {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"nicolengk"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"nicolengk"},"content":" TaskList task \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"nicolengk"},"content":" task.addTodoTask(\"test\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"nicolengk"},"content":" task.markTaskDone(4);","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"nicolengk"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"nicolengk"},"content":" assertEquals(e.getMessage(), \"Invalid task number\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"nicolengk"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"nicolengk"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"nicolengk":27}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"nicolengk"},"content":"todo borrow book","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"nicolengk"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"nicolengk"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"nicolengk"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"nicolengk"},"content":"mark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"nicolengk"},"content":"unmark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"nicolengk"},"content":"blah","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"nicolengk"},"content":"bye","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"nicolengk":8}}] diff --git a/nicolengk_ip_master/commits.json b/nicolengk_ip_master/commits.json index 9ea1284a..ab52f207 100644 --- a/nicolengk_ip_master/commits.json +++ b/nicolengk_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"nicolengk":[{"date":"2023-08-21","commitResults":[{"hash":"7f8d4e66d653fdc905e918407a433d138ef84087","isMergeCommit":false,"messageTitle":"feat: added goodbye","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"d2c6e7ca11b8a1f34b31fc0a94e1ae33ede19eef","isMergeCommit":false,"messageTitle":"feat: Rename, Greet, Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":7}}}]},{"date":"2023-08-22","commitResults":[{"hash":"cc4f941d0e7e992b6cb5d3070d2ae35a23ed4e24","isMergeCommit":false,"messageTitle":"feat: echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"16f4a626f51d5046c8207a6b2d92e58dad44c99a","isMergeCommit":false,"messageTitle":"feat: add, list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":7}}},{"hash":"63784f5a3c13c4118d8d4747948e8d1a3d0f7c9d","isMergeCommit":false,"messageTitle":"level 2 fix","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}},{"hash":"0532d9a19a0f8aff430ab45a9e8b59236d0f74e5","isMergeCommit":false,"messageTitle":"feat: mark as done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":4}}},{"hash":"e2d00518c19cb9fc36436eeeafa24dd94e36597e","isMergeCommit":false,"messageTitle":"feat: todos,events,deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":76,"deletions":5}}},{"hash":"afd81beea8873a6e80fceb89c44d39ff9de15684","isMergeCommit":false,"messageTitle":"testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0}}}]},{"date":"2023-08-24","commitResults":[{"hash":"15c297003682395828c7dc362d792af39f1ce243","isMergeCommit":false,"messageTitle":"feat: handle errors","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":85,"deletions":62}}},{"hash":"942d60cd47b7d768ff1963c18297fa568d2c7b3c","isMergeCommit":false,"messageTitle":"handle error fix","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":2}}},{"hash":"5087bb5e93616b547c7f8dde792d4546fb4f18af","isMergeCommit":false,"messageTitle":"feat: delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":7}}},{"hash":"f111cefb4e120aec358d8b96c52cadde0589044c","isMergeCommit":false,"messageTitle":"seperating classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":71,"deletions":75}}},{"hash":"27fbbee4b8231da1458e760e96f370d0487cd0e7","isMergeCommit":false,"messageTitle":"refactoring","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":125,"deletions":108}}}]},{"date":"2023-09-01","commitResults":[{"hash":"1b9edc5b4abec88ccd245dbb22ec5c5d64f3a708","isMergeCommit":false,"messageTitle":"add save feature that save the tasks automatically","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0},"java":{"insertions":177,"deletions":8}}},{"hash":"7e38c02854072d5e1e4ad75713a632285a0520f6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"555f4bafb615b09e99d60515a56ba003331a610f","isMergeCommit":false,"messageTitle":"add feature to read date and time","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":5},"java":{"insertions":67,"deletions":43}}},{"hash":"3a274d5a9ef84f300d7d79665db7eabf859f5d0a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-02","commitResults":[{"hash":"ed7fff1402172a8e859d4cbefe207df8255af0eb","isMergeCommit":false,"messageTitle":"refactor: create Ui Parser and TaskList classes","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":2},"java":{"insertions":257,"deletions":195}}},{"hash":"964736592ad99a76ba8591d305c1b3a9f7db95d5","isMergeCommit":false,"messageTitle":"add duke packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":44,"deletions":10}}},{"hash":"fe359f5edadf6cccd02bbfb6d6f971ffe11828fb","isMergeCommit":true,"messageTitle":"Merge commit \u002728ad2b878f1a21d03879e81cd441d0175d89e6b1\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"63f7f9b7cebf65c18f7e086d059cbbd62689d420","isMergeCommit":false,"messageTitle":"Add gradle support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":3,"deletions":1},"java":{"insertions":0,"deletions":1}}},{"hash":"2213cbff3826099a50993184625da3f14eab104c","isMergeCommit":false,"messageTitle":"Add testing for Task and TaskList class","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"java":{"insertions":85,"deletions":12}}},{"hash":"bd3d8a5b8ecaadff6bb09fbd992d2924774d53a9","isMergeCommit":false,"messageTitle":"add jar file","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0}}},{"hash":"d4dc4daa76952221690bc9c2dcbed7b63c803baf","isMergeCommit":false,"messageTitle":"Add javadocs to classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":262,"deletions":2}}},{"hash":"d767b1b91c887bf3ada4bc547829f2281e74d8ff","isMergeCommit":false,"messageTitle":"Fix code to comply with coding standards","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":23}}},{"hash":"3343a6dbbc6a0983bbae0ec9582b1454e74a47a4","isMergeCommit":false,"messageTitle":"add feat: find task","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":0}}},{"hash":"e67da9c88c104e4eaa1b00fde26118c9e5942754","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"7e1da50e6ec6dd35e39156b9feca90bdf82b3e88","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/task/Event.java\n#\tsrc/main/java/duke/task/Task.java\n#\tsrc/main/java/duke/utils/Parser.java\n","fileTypesAndContributionMap":{}},{"hash":"c559d366325464560aba65242fe74269bc4dbaa7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/task/Task.java\n","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"nicolengk":{"java":867,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":3,"txt":12}},"authorContributionVariance":{"nicolengk":68719.12},"authorDisplayNameMap":{"nicolengk":"CS2103T-W11-2 NG G..COLE"}} +{"authorDailyContributionsMap":{"nicolengk":[{"date":"2023-08-21","commitResults":[{"hash":"7f8d4e66d653fdc905e918407a433d138ef84087","isMergeCommit":false,"messageTitle":"feat: added goodbye","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"d2c6e7ca11b8a1f34b31fc0a94e1ae33ede19eef","isMergeCommit":false,"messageTitle":"feat: Rename, Greet, Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":7}}}]},{"date":"2023-08-22","commitResults":[{"hash":"cc4f941d0e7e992b6cb5d3070d2ae35a23ed4e24","isMergeCommit":false,"messageTitle":"feat: echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"16f4a626f51d5046c8207a6b2d92e58dad44c99a","isMergeCommit":false,"messageTitle":"feat: add, list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":7}}},{"hash":"63784f5a3c13c4118d8d4747948e8d1a3d0f7c9d","isMergeCommit":false,"messageTitle":"level 2 fix","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}},{"hash":"0532d9a19a0f8aff430ab45a9e8b59236d0f74e5","isMergeCommit":false,"messageTitle":"feat: mark as done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":4}}},{"hash":"e2d00518c19cb9fc36436eeeafa24dd94e36597e","isMergeCommit":false,"messageTitle":"feat: todos,events,deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":76,"deletions":5}}},{"hash":"afd81beea8873a6e80fceb89c44d39ff9de15684","isMergeCommit":false,"messageTitle":"testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":8,"deletions":0}}}]},{"date":"2023-08-24","commitResults":[{"hash":"15c297003682395828c7dc362d792af39f1ce243","isMergeCommit":false,"messageTitle":"feat: handle errors","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":85,"deletions":62}}},{"hash":"942d60cd47b7d768ff1963c18297fa568d2c7b3c","isMergeCommit":false,"messageTitle":"handle error fix","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":2}}},{"hash":"5087bb5e93616b547c7f8dde792d4546fb4f18af","isMergeCommit":false,"messageTitle":"feat: delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":7}}},{"hash":"f111cefb4e120aec358d8b96c52cadde0589044c","isMergeCommit":false,"messageTitle":"seperating classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":71,"deletions":75}}},{"hash":"27fbbee4b8231da1458e760e96f370d0487cd0e7","isMergeCommit":false,"messageTitle":"refactoring","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":125,"deletions":108}}}]},{"date":"2023-09-01","commitResults":[{"hash":"1b9edc5b4abec88ccd245dbb22ec5c5d64f3a708","isMergeCommit":false,"messageTitle":"add save feature that save the tasks automatically","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0},"java":{"insertions":177,"deletions":8}}},{"hash":"7e38c02854072d5e1e4ad75713a632285a0520f6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"555f4bafb615b09e99d60515a56ba003331a610f","isMergeCommit":false,"messageTitle":"add feature to read date and time","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":5},"java":{"insertions":67,"deletions":43}}},{"hash":"3a274d5a9ef84f300d7d79665db7eabf859f5d0a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-02","commitResults":[{"hash":"ed7fff1402172a8e859d4cbefe207df8255af0eb","isMergeCommit":false,"messageTitle":"refactor: create Ui Parser and TaskList classes","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":2},"java":{"insertions":257,"deletions":195}}},{"hash":"964736592ad99a76ba8591d305c1b3a9f7db95d5","isMergeCommit":false,"messageTitle":"add duke packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":44,"deletions":10}}},{"hash":"fe359f5edadf6cccd02bbfb6d6f971ffe11828fb","isMergeCommit":true,"messageTitle":"Merge commit \u002728ad2b878f1a21d03879e81cd441d0175d89e6b1\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"63f7f9b7cebf65c18f7e086d059cbbd62689d420","isMergeCommit":false,"messageTitle":"Add gradle support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":3,"deletions":1},"java":{"insertions":0,"deletions":1}}},{"hash":"2213cbff3826099a50993184625da3f14eab104c","isMergeCommit":false,"messageTitle":"Add testing for Task and TaskList class","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"java":{"insertions":85,"deletions":12}}},{"hash":"bd3d8a5b8ecaadff6bb09fbd992d2924774d53a9","isMergeCommit":false,"messageTitle":"add jar file","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0}}},{"hash":"d4dc4daa76952221690bc9c2dcbed7b63c803baf","isMergeCommit":false,"messageTitle":"Add javadocs to classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":262,"deletions":2}}},{"hash":"d767b1b91c887bf3ada4bc547829f2281e74d8ff","isMergeCommit":false,"messageTitle":"Fix code to comply with coding standards","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":23}}},{"hash":"3343a6dbbc6a0983bbae0ec9582b1454e74a47a4","isMergeCommit":false,"messageTitle":"add feat: find task","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":0}}},{"hash":"e67da9c88c104e4eaa1b00fde26118c9e5942754","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"7e1da50e6ec6dd35e39156b9feca90bdf82b3e88","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/task/Event.java\n#\tsrc/main/java/duke/task/Task.java\n#\tsrc/main/java/duke/utils/Parser.java\n","fileTypesAndContributionMap":{}},{"hash":"c559d366325464560aba65242fe74269bc4dbaa7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/task/Task.java\n","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-03","commitResults":[{"hash":"c0ac313440df35efd02bf699e685287ebb2d085c","isMergeCommit":false,"messageTitle":"Add javadocs for find feature","messageBody":"","tags":["A-JavaDocs"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":7}}},{"hash":"b567973f37666ec219d2f3ad6dabf440caee33bd","isMergeCommit":false,"messageTitle":"Revert \"Add javadocs for find feature\"","messageBody":"This reverts commit c0ac313440df35efd02bf699e685287ebb2d085c.\n","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":16}}},{"hash":"929de9296394b299123e28c06a22e5e52da02976","isMergeCommit":false,"messageTitle":"Add javadocs for find feature","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":8}}}]}]},"authorFileTypeContributionMap":{"nicolengk":{"java":875,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":3,"txt":12}},"authorContributionVariance":{"nicolengk":64859.465},"authorDisplayNameMap":{"nicolengk":"CS2103T-W11-2 NG G..COLE"}} diff --git a/reposense-logs/reposense.log.0 b/reposense-logs/reposense.log.0 index defff12a..38aac9e3 100644 --- a/reposense-logs/reposense.log.0 +++ b/reposense-logs/reposense.log.0 @@ -1,58 +1,58 @@ -Sep 03, 2023 1:16:49 AM reposense.system.LogsManager addFileHandler +Sep 03, 2023 3:41:10 AM reposense.system.LogsManager addFileHandler INFO: Log temp folder has been successfully created -Sep 03, 2023 1:16:49 AM reposense.parser.CsvParser validateHeader +Sep 03, 2023 3:41:11 AM 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 -Sep 03, 2023 1:16:51 AM reposense.parser.CsvParser validateHeader +Sep 03, 2023 3:41:12 AM 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 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias scarletblanks found. The alias will belong to the last author - ScarletBlanks -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kb-tay found. The alias will belong to the last author - Kb-Tay -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias ryam found. The alias will belong to the last author - ryamgoh -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias h1410101 found. The alias will belong to the last author - H1410101 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias shashahchk found. The alias will belong to the last author - shashahchk -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yucongkoo found. The alias will belong to the last author - yucongkoo -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kokseng1 found. The alias will belong to the last author - Kokseng1 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias vanessamae23 found. The alias will belong to the last author - Vanessamae23 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias singa-pirate found. The alias will belong to the last author - Singa-pirate -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nicholastng010601 found. The alias will belong to the last author - nicholastng010601 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias weiennn found. The alias will belong to the last author - Weiennn -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias adammangzijun found. The alias will belong to the last author - adammangzijun -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias scarletblanks found. The alias will belong to the last author - ScarletBlanks -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kb-tay found. The alias will belong to the last author - Kb-Tay -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias ryam found. The alias will belong to the last author - ryamgoh -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias h1410101 found. The alias will belong to the last author - H1410101 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias shashahchk found. The alias will belong to the last author - shashahchk -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yucongkoo found. The alias will belong to the last author - yucongkoo -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kokseng1 found. The alias will belong to the last author - Kokseng1 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias vanessamae23 found. The alias will belong to the last author - Vanessamae23 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias singa-pirate found. The alias will belong to the last author - Singa-pirate -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nicholastng010601 found. The alias will belong to the last author - nicholastng010601 -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias weiennn found. The alias will belong to the last author - Weiennn -Sep 03, 2023 1:16:51 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 03, 2023 3:41:12 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias adammangzijun found. The alias will belong to the last author - adammangzijun -Sep 03, 2023 1:16:51 AM reposense.git.GitConfig getGlobalGitLfsConfig +Sep 03, 2023 3:41:12 AM 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 @@ -68,8647 +68,8647 @@ fatal: unable to read config file '/home/runner/.gitconfig': No such file or dir at reposense.system.CommandRunner.runCommand(CommandRunner.java:21) ... 3 more -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/emzm2023/ip.git... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/siqirua/ip.git... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/CJ-Lee01/ip.git... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/siqirua/ip.git... +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/thaddeusong/ip.git... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/thaddeusong/ip.git to complete... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/siqirua/ip.git to complete... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/CJ-Lee01/ip.git to complete... -Sep 03, 2023 1:16:51 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/emzm2023/ip.git to complete... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/siqirua/ip.git completed! -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/CJ-Lee01/ip.git to complete... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/thaddeusong/ip.git completed! -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/emzm2023/ip.git completed! -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/CJ-Lee01/ip.git completed! -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanteckfang/ip.git... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [1/480] Analyzing https://github.com/thaddeusong/ip.git (master)... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanteckfang/ip.git to complete... +Sep 03, 2023 3:41:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/thaddeusong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/thaddeusong/ip.git (master)... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/emzm2023/ip.git completed! +Sep 03, 2023 3:41:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [2/480] Analyzing https://github.com/emzm2023/ip.git (master)... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ph-nathan/ip.git... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ph-nathan/ip.git to complete... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/CJ-Lee01/ip.git completed! +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/siqirua/ip.git completed! +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/butteredyakiimo/ip.git... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yuxunn/ip.git... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/butteredyakiimo/ip.git to complete... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yuxunn/ip.git to complete... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ph-nathan/ip.git to complete... -Sep 03, 2023 1:16:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanteckfang/ip.git to complete... -Sep 03, 2023 1:16:52 AM reposense.report.ReportGenerator analyzeRepos -INFO: [1/480] Analyzing https://github.com/siqirua/ip.git (master)... -Sep 03, 2023 1:16:52 AM reposense.report.ReportGenerator analyzeRepos -INFO: [2/480] Analyzing https://github.com/thaddeusong/ip.git (master)... -Sep 03, 2023 1:16:52 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/thaddeusong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/thaddeusong/ip.git (master)... -Sep 03, 2023 1:16:52 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/siqirua/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/siqirua/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yuxunn/ip.git completed! -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RB9823/ip.git... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/emzm2023/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/emzm2023/ip.git (master)... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tanteckfang/ip.git completed! -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/butteredyakiimo/ip.git completed! -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RB9823/ip.git... +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ph-nathan/ip.git completed! -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RB9823/ip.git to complete... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yuxunn/ip.git completed! +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TyrusLye/ip.git... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TyrusLye/ip.git to complete... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/butteredyakiimo/ip.git completed! +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/cxo05/ip.git... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/shyanyong/ip.git... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cxo05/ip.git to complete... -Sep 03, 2023 1:16:53 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shyanyong/ip.git to complete... -Sep 03, 2023 1:16:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/siqirua/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/siqirua/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cxo05/ip.git to complete... +Sep 03, 2023 3:41:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/emzm2023/ip.git (master)... +Sep 03, 2023 3:41:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/emzm2023/ip.git (master)... +Sep 03, 2023 3:41:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/thaddeusong/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/thaddeusong/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/emzm2023/ip.git (master) completed! +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator analyzeRepos +INFO: [3/480] Analyzing https://github.com/siqirua/ip.git (master)... +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/thaddeusong/ip.git (master) completed! -Sep 03, 2023 1:16:53 AM reposense.report.ReportGenerator analyzeRepos -INFO: [3/480] Analyzing https://github.com/emzm2023/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/siqirua/ip.git (master) completed! -Sep 03, 2023 1:16:53 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator analyzeRepos INFO: [4/480] Analyzing https://github.com/CJ-Lee01/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/emzm2023/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/emzm2023/ip.git (master)... -Sep 03, 2023 1:16:53 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/siqirua/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/siqirua/ip.git (master)... +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CJ-Lee01/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CJ-Lee01/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/RB9823/ip.git completed! -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cxo05/ip.git completed! -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shyanyong/ip.git completed! +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/howenc/ip.git... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TyrusLye/ip.git completed! -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kurtyjlee/ip.git... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kurtyjlee/ip.git to complete... +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/howenc/ip.git to complete... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cxo05/ip.git completed! +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/josepholim/ip.git... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/josepholim/ip.git to complete... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shyanyong/ip.git completed! -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kurtyjlee/ip.git to complete... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TyrusLye/ip.git completed! +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/geoffong11/ip.git... -Sep 03, 2023 1:16:54 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/josepholim/ip.git to complete... +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/geoffong11/ip.git to complete... -Sep 03, 2023 1:16:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CJ-Lee01/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/CJ-Lee01/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/CJ-Lee01/ip.git (master) completed! -Sep 03, 2023 1:16:54 AM reposense.report.ReportGenerator analyzeRepos -INFO: [5/480] Analyzing https://github.com/yuxunn/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/emzm2023/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/emzm2023/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yuxunn/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yuxunn/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/emzm2023/ip.git (master) completed! -Sep 03, 2023 1:16:54 AM reposense.report.ReportGenerator analyzeRepos -INFO: [6/480] Analyzing https://github.com/tanteckfang/ip.git (master)... -Sep 03, 2023 1:16:54 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanteckfang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanteckfang/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/howenc/ip.git completed! -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jianrong7/ip.git... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jianrong7/ip.git to complete... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/CJ-Lee01/ip.git (master)... +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/CJ-Lee01/ip.git (master) completed! +Sep 03, 2023 3:41:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kurtyjlee/ip.git completed! +Sep 03, 2023 3:41:14 AM reposense.report.ReportGenerator analyzeRepos +INFO: [5/480] Analyzing https://github.com/tanteckfang/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/josepholim/ip.git completed! -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/geoffong11/ip.git completed! -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/A1WAYSD/ip.git... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/geoffong11/ip.git completed! +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/A1WAYSD/ip.git to complete... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kurtyjlee/ip.git completed! -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/NgChunMan/ip.git... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/limjunxian1/ip.git... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanteckfang/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanteckfang/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/limjunxian1/ip.git to complete... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/siqirua/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/NgChunMan/ip.git to complete... -Sep 03, 2023 1:16:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yuxunn/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yuxunn/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yuxunn/ip.git (master) completed! -Sep 03, 2023 1:16:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [7/480] Analyzing https://github.com/ph-nathan/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/siqirua/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/siqirua/ip.git (master) completed! +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [6/480] Analyzing https://github.com/ph-nathan/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ph-nathan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ph-nathan/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanteckfang/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jianrong7/ip.git completed! -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jack1e0/ip.git... -Sep 03, 2023 1:16:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tanteckfang/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jack1e0/ip.git to complete... -Sep 03, 2023 1:16:55 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanteckfang/ip.git (master) completed! -Sep 03, 2023 1:16:55 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/limjunxian1/ip.git completed! -Sep 03, 2023 1:16:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [8/480] Analyzing https://github.com/butteredyakiimo/ip.git (master)... -Sep 03, 2023 1:16:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ph-nathan/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/NgChunMan/ip.git completed! +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/A1WAYSD/ip.git completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/hjoneweek/ip.git... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/NgChunMan/ip.git completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hjoneweek/ip.git to complete... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/dishenggg/ip.git... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dishenggg/ip.git to complete... +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hjoneweek/ip.git to complete... +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhyuhan/ip.git... +Sep 03, 2023 3:41:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhyuhan/ip.git to complete... +Sep 03, 2023 3:41:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ph-nathan/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ph-nathan/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ph-nathan/ip.git (master) completed! +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [7/480] Analyzing https://github.com/yuxunn/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yuxunn/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yuxunn/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanteckfang/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tanteckfang/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanteckfang/ip.git (master) completed! +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [8/480] Analyzing https://github.com/butteredyakiimo/ip.git (master)... +Sep 03, 2023 3:41:15 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/butteredyakiimo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/butteredyakiimo/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ph-nathan/ip.git (master) completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhyuhan/ip.git... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yuxunn/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yuxunn/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yuxunn/ip.git (master) completed! +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator analyzeRepos INFO: [9/480] Analyzing https://github.com/RB9823/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dishenggg/ip.git to complete... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhyuhan/ip.git to complete... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RB9823/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RB9823/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/butteredyakiimo/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/butteredyakiimo/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/butteredyakiimo/ip.git (master) completed! -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator analyzeRepos -INFO: [10/480] Analyzing https://github.com/cxo05/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/cxo05/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/cxo05/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RB9823/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/RB9823/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/RB9823/ip.git (master) completed! -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator analyzeRepos -INFO: [11/480] Analyzing https://github.com/TyrusLye/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TyrusLye/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TyrusLye/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jack1e0/ip.git completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Dioclei/ip.git... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/hjoneweek/ip.git completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Dioclei/ip.git... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Dioclei/ip.git to complete... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhyuhan/ip.git completed! +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/butteredyakiimo/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Daphne789/ip.git... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Daphne789/ip.git to complete... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dishenggg/ip.git completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WinstonLeonard/ip.git... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TyrusLye/ip.git (master)... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhyuhan/ip.git completed! -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WinstonLeonard/ip.git to complete... -Sep 03, 2023 1:16:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dishenggg/ip.git completed! +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/butteredyakiimo/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Daphne789/ip.git to complete... +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/butteredyakiimo/ip.git (master) completed! +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [10/480] Analyzing https://github.com/shyanyong/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/peiran18/ip.git... -Sep 03, 2023 1:16:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TyrusLye/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TyrusLye/ip.git (master) completed! -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WinstonLeonard/ip.git to complete... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/peiran18/ip.git to complete... -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [12/480] Analyzing https://github.com/shyanyong/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/shyanyong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/shyanyong/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cxo05/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cxo05/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cxo05/ip.git (master) completed! -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [13/480] Analyzing https://github.com/howenc/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/howenc/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/howenc/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Daphne789/ip.git completed! -Sep 03, 2023 1:16:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shyanyong/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RB9823/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/RB9823/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/RB9823/ip.git (master) completed! +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [11/480] Analyzing https://github.com/cxo05/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/cxo05/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/cxo05/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Dioclei/ip.git completed! +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AriellaCallista/ip.git... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AriellaCallista/ip.git to complete... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Dioclei/ip.git completed! -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Daphne789/ip.git completed! +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/peiran18/ip.git completed! +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/migfoo02/ip.git... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WinstonLeonard/ip.git completed! +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shyanyong/ip.git (master)... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/migfoo02/ip.git to complete... -Sep 03, 2023 1:16:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jonyxzx/ip.git... +Sep 03, 2023 3:41:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SynapseProgramming/ip.git... +Sep 03, 2023 3:41:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/shyanyong/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WinstonLeonard/ip.git completed! -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shyanyong/ip.git (master) completed! -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [14/480] Analyzing https://github.com/josepholim/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jonyxzx/ip.git... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Jonyxzx/ip.git to complete... -Sep 03, 2023 1:16:57 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/josepholim/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/josepholim/ip.git (master)... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/peiran18/ip.git completed! -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SynapseProgramming/ip.git... -Sep 03, 2023 1:16:57 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [12/480] Analyzing https://github.com/TyrusLye/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SynapseProgramming/ip.git to complete... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/howenc/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/howenc/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/howenc/ip.git (master) completed! -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [15/480] Analyzing https://github.com/geoffong11/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/josepholim/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/geoffong11/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/geoffong11/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/josepholim/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TyrusLye/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TyrusLye/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TyrusLye/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cxo05/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TyrusLye/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TyrusLye/ip.git (master) completed! +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [13/480] Analyzing https://github.com/howenc/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cxo05/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cxo05/ip.git (master) completed! +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [14/480] Analyzing https://github.com/Kurtyjlee/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/howenc/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/howenc/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kurtyjlee/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kurtyjlee/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AriellaCallista/ip.git completed! -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/josepholim/ip.git (master) completed! -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Darren159/ip.git... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [16/480] Analyzing https://github.com/Kurtyjlee/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/migfoo02/ip.git completed! -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Darren159/ip.git to complete... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/imkwokyong/ip.git... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Jonyxzx/ip.git completed! -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/imkwokyong/ip.git... +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/imkwokyong/ip.git to complete... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/joeng03/ip.git... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kurtyjlee/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kurtyjlee/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SynapseProgramming/ip.git completed! -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/joeng03/ip.git to complete... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/migfoo02/ip.git completed! +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/joeng03/ip.git... +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/vijay-shankaranand/ip.git... -Sep 03, 2023 1:16:58 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/vijay-shankaranand/ip.git to complete... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/geoffong11/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/geoffong11/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/geoffong11/ip.git (master) completed! -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [17/480] Analyzing https://github.com/jianrong7/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jianrong7/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jianrong7/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/joeng03/ip.git to complete... +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kurtyjlee/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/howenc/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kurtyjlee/ip.git (master)... -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kurtyjlee/ip.git (master) completed! -Sep 03, 2023 1:16:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [18/480] Analyzing https://github.com/limjunxian1/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/howenc/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [15/480] Analyzing https://github.com/josepholim/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/howenc/ip.git (master) completed! +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [16/480] Analyzing https://github.com/geoffong11/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/geoffong11/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/geoffong11/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/josepholim/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/josepholim/ip.git (master)... +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Darren159/ip.git completed! -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/limjunxian1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/limjunxian1/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/SelwynAng/ip.git... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:17 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SelwynAng/ip.git to complete... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/imkwokyong/ip.git completed! -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vijay-shankaranand/ip.git completed! +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jeffrey-jian/ip.git... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanyyyming/ip.git... +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jeffrey-jian/ip.git to complete... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vijay-shankaranand/ip.git completed! -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanyyyming/ip.git to complete... +Sep 03, 2023 3:41:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/geoffong11/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/geoffong11/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/geoffong11/ip.git (master) completed! +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [17/480] Analyzing https://github.com/jianrong7/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/joeng03/ip.git completed! -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanyyyming/ip.git... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/JCSnap/ip.git... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanyyyming/ip.git to complete... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jianrong7/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jianrong7/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/JCSnap/ip.git to complete... -Sep 03, 2023 1:16:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jianrong7/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jianrong7/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jianrong7/ip.git (master) completed! -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [19/480] Analyzing https://github.com/A1WAYSD/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/A1WAYSD/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/A1WAYSD/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/limjunxian1/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/limjunxian1/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/limjunxian1/ip.git (master) completed! -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [20/480] Analyzing https://github.com/NgChunMan/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/josepholim/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/josepholim/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/josepholim/ip.git (master) completed! +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [18/480] Analyzing https://github.com/NgChunMan/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/NgChunMan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/NgChunMan/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/A1WAYSD/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SelwynAng/ip.git completed! -Sep 03, 2023 1:16:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/A1WAYSD/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AprupKale/ip.git... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AprupKale/ip.git to complete... +Sep 03, 2023 3:41:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jianrong7/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jianrong7/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jianrong7/ip.git (master) completed! +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [19/480] Analyzing https://github.com/limjunxian1/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/limjunxian1/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/limjunxian1/ip.git (master)... +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jeffrey-jian/ip.git completed! -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/A1WAYSD/ip.git (master) completed! -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [21/480] Analyzing https://github.com/jack1e0/ip.git (master)... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/woojiahao/ip.git... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AprupKale/ip.git to complete... -Sep 03, 2023 1:16:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/woojiahao/ip.git to complete... -Sep 03, 2023 1:16:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jack1e0/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:16:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jack1e0/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tanyyyming/ip.git completed! -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JCSnap/ip.git completed! -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/woojiahao/ip.git to complete... +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/PetrichorPrecipice/ip.git... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/syamfarh/ip.git... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/PetrichorPrecipice/ip.git to complete... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JCSnap/ip.git completed! +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/syamfarh/ip.git... +Sep 03, 2023 3:41:18 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/syamfarh/ip.git to complete... -Sep 03, 2023 1:17:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jack1e0/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jack1e0/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/NgChunMan/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jack1e0/ip.git (master) completed! -Sep 03, 2023 1:17:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/NgChunMan/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [22/480] Analyzing https://github.com/hjoneweek/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/NgChunMan/ip.git (master) completed! -Sep 03, 2023 1:17:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [23/480] Analyzing https://github.com/dishenggg/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/hjoneweek/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/hjoneweek/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dishenggg/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dishenggg/ip.git (master)... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AprupKale/ip.git completed! -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/D-Limiter/ip.git... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/woojiahao/ip.git completed! -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/coderhuang559/ip.git... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/D-Limiter/ip.git to complete... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/syamfarh/ip.git completed! -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PetrichorPrecipice/ip.git completed! -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [20/480] Analyzing https://github.com/A1WAYSD/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/A1WAYSD/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/A1WAYSD/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/limjunxian1/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/limjunxian1/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/limjunxian1/ip.git (master) completed! +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [21/480] Analyzing https://github.com/jack1e0/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jack1e0/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jack1e0/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AprupKale/ip.git completed! +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/D-Limiter/ip.git... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/D-Limiter/ip.git to complete... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/woojiahao/ip.git completed! +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PetrichorPrecipice/ip.git completed! +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/coderhuang559/ip.git... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/coderhuang559/ip.git to complete... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LINCHENYU2030S/ip.git... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LINCHENYU2030S/ip.git to complete... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/A1WAYSD/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/syamfarh/ip.git completed! +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/pra-navi/ip.git... -Sep 03, 2023 1:17:00 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/A1WAYSD/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/A1WAYSD/ip.git (master) completed! +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [22/480] Analyzing https://github.com/hjoneweek/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/pra-navi/ip.git to complete... -Sep 03, 2023 1:17:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/hjoneweek/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/hjoneweek/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jack1e0/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jack1e0/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jack1e0/ip.git (master) completed! +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [23/480] Analyzing https://github.com/zhyuhan/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/hjoneweek/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/hjoneweek/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/hjoneweek/ip.git (master) completed! -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepos -INFO: [24/480] Analyzing https://github.com/zhyuhan/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zhyuhan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zhyuhan/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dishenggg/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dishenggg/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dishenggg/ip.git (master) completed! -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepos -INFO: [25/480] Analyzing https://github.com/Daphne789/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Daphne789/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Daphne789/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/hjoneweek/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/hjoneweek/ip.git (master) completed! +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [24/480] Analyzing https://github.com/dishenggg/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dishenggg/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dishenggg/ip.git (master)... +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/D-Limiter/ip.git completed! -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/coderhuang559/ip.git completed! +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/phiphi-tan/ip.git... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/phiphi-tan/ip.git to complete... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LINCHENYU2030S/ip.git completed! -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/coderhuang559/ip.git completed! -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ktzy0305/ip.git... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/pra-navi/ip.git completed! -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ktzy0305/ip.git to complete... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LINCHENYU2030S/ip.git completed! +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LordSaumya/ip.git... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LordSaumya/ip.git to complete... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/pra-navi/ip.git completed! +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Chen1x/ip.git... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ktzy0305/ip.git to complete... -Sep 03, 2023 1:17:01 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Chen1x/ip.git to complete... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Daphne789/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Daphne789/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Daphne789/ip.git (master) completed! -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepos -INFO: [26/480] Analyzing https://github.com/Dioclei/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dishenggg/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zhyuhan/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Dioclei/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Dioclei/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dishenggg/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dishenggg/ip.git (master) completed! +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zhyuhan/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [25/480] Analyzing https://github.com/Dioclei/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zhyuhan/ip.git (master) completed! -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepos -INFO: [27/480] Analyzing https://github.com/WinstonLeonard/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WinstonLeonard/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WinstonLeonard/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Dioclei/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Dioclei/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Dioclei/ip.git (master) completed! -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator analyzeRepos -INFO: [28/480] Analyzing https://github.com/peiran18/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/WinstonLeonard/ip.git (master)... -Sep 03, 2023 1:17:01 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/peiran18/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/peiran18/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/WinstonLeonard/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/WinstonLeonard/ip.git (master) completed! -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepos -INFO: [29/480] Analyzing https://github.com/AriellaCallista/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AriellaCallista/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AriellaCallista/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LordSaumya/ip.git completed! -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [26/480] Analyzing https://github.com/Daphne789/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Dioclei/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Dioclei/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Daphne789/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Daphne789/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/phiphi-tan/ip.git completed! +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yanghengtang/ip.git... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ktzy0305/ip.git completed! -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yanghengtang/ip.git to complete... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/phiphi-tan/ip.git completed! -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chen1x/ip.git completed! -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LordSaumya/ip.git completed! +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/johnnythesnake12/ip.git... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/oeggy03/ip.git... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ktzy0305/ip.git completed! +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Dioclei/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/johnnythesnake12/ip.git to complete... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/p-xp/ip.git... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Daphne789/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/oeggy03/ip.git... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/oeggy03/ip.git to complete... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Dioclei/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Dioclei/ip.git (master) completed! +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [27/480] Analyzing https://github.com/peiran18/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chen1x/ip.git completed! +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Daphne789/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Daphne789/ip.git (master) completed! +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [28/480] Analyzing https://github.com/WinstonLeonard/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/p-xp/ip.git... +Sep 03, 2023 3:41:20 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/p-xp/ip.git to complete... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/peiran18/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/peiran18/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WinstonLeonard/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WinstonLeonard/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/peiran18/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/peiran18/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/peiran18/ip.git (master) completed! -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepos -INFO: [30/480] Analyzing https://github.com/migfoo02/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/migfoo02/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/migfoo02/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/migfoo02/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/migfoo02/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/migfoo02/ip.git (master) completed! -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AriellaCallista/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepos -INFO: [31/480] Analyzing https://github.com/Jonyxzx/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AriellaCallista/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [29/480] Analyzing https://github.com/AriellaCallista/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AriellaCallista/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AriellaCallista/ip.git (master)... +Sep 03, 2023 3:41:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/WinstonLeonard/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/WinstonLeonard/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/WinstonLeonard/ip.git (master) completed! +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepos +INFO: [30/480] Analyzing https://github.com/Jonyxzx/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Jonyxzx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Jonyxzx/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AriellaCallista/ip.git (master) completed! -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepos -INFO: [32/480] Analyzing https://github.com/SynapseProgramming/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SynapseProgramming/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SynapseProgramming/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SynapseProgramming/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SynapseProgramming/ip.git (master)... -Sep 03, 2023 1:17:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yanghengtang/ip.git completed! -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SynapseProgramming/ip.git (master) completed! -Sep 03, 2023 1:17:02 AM reposense.report.ReportGenerator analyzeRepos -INFO: [33/480] Analyzing https://github.com/Darren159/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/johnnythesnake12/ip.git completed! +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/matochichap/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/matochichap/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/p-xp/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Darren159/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Darren159/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yanghengtang/ip.git completed! +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/oeggy03/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/applepiofmyeye/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TiwKangXu/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/johnnythesnake12/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/applepiofmyeye/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ScarletBlanks/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TiwKangXu/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AriellaCallista/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/p-xp/ip.git completed! +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AriellaCallista/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AriellaCallista/ip.git (master) completed! +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepos +INFO: [31/480] Analyzing https://github.com/SynapseProgramming/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ScarletBlanks/ip.git... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ScarletBlanks/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SynapseProgramming/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SynapseProgramming/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Jonyxzx/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Jonyxzx/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Jonyxzx/ip.git (master) completed! -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepos +INFO: [32/480] Analyzing https://github.com/migfoo02/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/migfoo02/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/migfoo02/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SynapseProgramming/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SynapseProgramming/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SynapseProgramming/ip.git (master) completed! +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepos +INFO: [33/480] Analyzing https://github.com/Darren159/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Darren159/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Darren159/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/matochichap/ip.git completed! +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chiayunrong/ip.git... +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/migfoo02/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/applepiofmyeye/ip.git completed! +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chiayunrong/ip.git to complete... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/devanshubisht/ip.git... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/devanshubisht/ip.git to complete... +Sep 03, 2023 3:41:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/migfoo02/ip.git (master)... +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/migfoo02/ip.git (master) completed! +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator analyzeRepos INFO: [34/480] Analyzing https://github.com/imkwokyong/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:21 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/imkwokyong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/imkwokyong/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TiwKangXu/ip.git completed! +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jx124/ip.git... +Sep 03, 2023 3:41:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jx124/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ScarletBlanks/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Clin-lyx/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Clin-lyx/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Darren159/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Darren159/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Darren159/ip.git (master) completed! -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator analyzeRepos -INFO: [35/480] Analyzing https://github.com/joeng03/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/joeng03/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/joeng03/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepos +INFO: [35/480] Analyzing https://github.com/vijay-shankaranand/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/imkwokyong/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/imkwokyong/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/imkwokyong/ip.git (master) completed! -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator analyzeRepos -INFO: [36/480] Analyzing https://github.com/vijay-shankaranand/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/vijay-shankaranand/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/vijay-shankaranand/ip.git (master)... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/applepiofmyeye/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/matochichap/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TiwKangXu/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ScarletBlanks/ip.git completed! -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chiayunrong/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/devanshubisht/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jx124/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jx124/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chiayunrong/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/devanshubisht/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Clin-lyx/ip.git... -Sep 03, 2023 1:17:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Clin-lyx/ip.git to complete... -Sep 03, 2023 1:17:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/imkwokyong/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/imkwokyong/ip.git (master) completed! +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepos +INFO: [36/480] Analyzing https://github.com/joeng03/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chiayunrong/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/joeng03/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/joeng03/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AryanG01/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AryanG01/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/devanshubisht/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kayabuttertoastt/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kayabuttertoastt/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jx124/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sheryew/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sheryew/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/vijay-shankaranand/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/vijay-shankaranand/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/vijay-shankaranand/ip.git (master) completed! +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepos +INFO: [37/480] Analyzing https://github.com/SelwynAng/ip.git (master)... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/joeng03/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/joeng03/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/joeng03/ip.git (master) completed! -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepos -INFO: [37/480] Analyzing https://github.com/SelwynAng/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/vijay-shankaranand/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SelwynAng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SelwynAng/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/vijay-shankaranand/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/vijay-shankaranand/ip.git (master) completed! -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepos INFO: [38/480] Analyzing https://github.com/jeffrey-jian/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Clin-lyx/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jonasongg/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jonasongg/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jeffrey-jian/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jeffrey-jian/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kayabuttertoastt/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SelwynAng/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AryanG01/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yiwen101/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tiongMax/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tiongMax/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yiwen101/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SelwynAng/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SelwynAng/ip.git (master) completed! -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator analyzeRepos INFO: [39/480] Analyzing https://github.com/tanyyyming/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sheryew/ip.git completed! +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jeffrey-jian/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chuababyy/ip.git... +Sep 03, 2023 3:41:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tanyyyming/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tanyyyming/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chuababyy/ip.git to complete... +Sep 03, 2023 3:41:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jeffrey-jian/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jeffrey-jian/ip.git (master) completed! -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepos INFO: [40/480] Analyzing https://github.com/JCSnap/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JCSnap/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JCSnap/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chiayunrong/ip.git completed! -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AryanG01/ip.git... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AryanG01/ip.git to complete... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/devanshubisht/ip.git completed! -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Clin-lyx/ip.git completed! -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kayabuttertoastt/ip.git... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sheryew/ip.git... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kayabuttertoastt/ip.git to complete... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jx124/ip.git completed! -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sheryew/ip.git to complete... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jonasongg/ip.git... -Sep 03, 2023 1:17:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jonasongg/ip.git to complete... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jonasongg/ip.git completed! +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/supermii2/ip.git... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/supermii2/ip.git to complete... +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/JCSnap/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JCSnap/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JCSnap/ip.git (master) completed! -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepos INFO: [41/480] Analyzing https://github.com/AprupKale/ip.git (master)... -Sep 03, 2023 1:17:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AprupKale/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AprupKale/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanyyyming/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanyyyming/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanyyyming/ip.git (master) completed! -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepos INFO: [42/480] Analyzing https://github.com/woojiahao/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/woojiahao/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/woojiahao/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yiwen101/ip.git completed! +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/remuslum/ip.git... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chuababyy/ip.git completed! +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/remuslum/ip.git to complete... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tiongMax/ip.git completed! +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kanna-1/ip.git... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kanna-1/ip.git to complete... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicolengk/ip.git... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicolengk/ip.git to complete... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/supermii2/ip.git completed! +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AprupKale/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AryanG01/ip.git completed! -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yiwen101/ip.git... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/newway1814/ip.git... +Sep 03, 2023 3:41:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/newway1814/ip.git to complete... +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AprupKale/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AprupKale/ip.git (master) completed! -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepos INFO: [43/480] Analyzing https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yiwen101/ip.git to complete... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kayabuttertoastt/ip.git completed! -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/PetrichorPrecipice/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tiongMax/ip.git... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jonasongg/ip.git completed! -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chuababyy/ip.git... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tiongMax/ip.git to complete... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chuababyy/ip.git to complete... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sheryew/ip.git completed! -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/supermii2/ip.git... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/supermii2/ip.git to complete... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/woojiahao/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/woojiahao/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/woojiahao/ip.git (master) completed! -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator analyzeRepos INFO: [44/480] Analyzing https://github.com/syamfarh/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/syamfarh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/syamfarh/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicolengk/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/glenngnng/ip.git... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/glenngnng/ip.git to complete... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/remuslum/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zsh-eng/ip.git... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kanna-1/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mingyuanc/ip.git... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zsh-eng/ip.git to complete... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mingyuanc/ip.git to complete... +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/PetrichorPrecipice/ip.git (master) completed! -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator analyzeRepos -INFO: [45/480] Analyzing https://github.com/D-Limiter/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [45/480] Analyzing https://github.com/coderhuang559/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/newway1814/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LamJiuFong/ip.git... +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/coderhuang559/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/coderhuang559/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LamJiuFong/ip.git to complete... +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/syamfarh/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/syamfarh/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/syamfarh/ip.git (master) completed! +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [46/480] Analyzing https://github.com/D-Limiter/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/D-Limiter/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/D-Limiter/ip.git (master)... -Sep 03, 2023 1:17:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yiwen101/ip.git completed! -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/remuslum/ip.git... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/remuslum/ip.git to complete... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tiongMax/ip.git completed! -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/syamfarh/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kanna-1/ip.git... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kanna-1/ip.git to complete... -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/syamfarh/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/syamfarh/ip.git (master) completed! -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/D-Limiter/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/D-Limiter/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/D-Limiter/ip.git (master) completed! -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepos -INFO: [46/480] Analyzing https://github.com/coderhuang559/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/coderhuang559/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepos INFO: [47/480] Analyzing https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/supermii2/ip.git completed! -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chuababyy/ip.git completed! -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicolengk/ip.git... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/coderhuang559/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/coderhuang559/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LINCHENYU2030S/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/newway1814/ip.git... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicolengk/ip.git to complete... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/newway1814/ip.git to complete... -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LINCHENYU2030S/ip.git (master) completed! -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepos -INFO: [48/480] Analyzing https://github.com/pra-navi/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/pra-navi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/pra-navi/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/coderhuang559/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/coderhuang559/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/coderhuang559/ip.git (master) completed! -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator analyzeRepos -INFO: [49/480] Analyzing https://github.com/LordSaumya/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LordSaumya/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LordSaumya/ip.git (master)... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/remuslum/ip.git completed! -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/glenngnng/ip.git... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/glenngnng/ip.git to complete... -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kanna-1/ip.git completed! -Sep 03, 2023 1:17:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zsh-eng/ip.git... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zsh-eng/ip.git to complete... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/newway1814/ip.git completed! -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mingyuanc/ip.git... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mingyuanc/ip.git to complete... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicolengk/ip.git completed! -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LamJiuFong/ip.git... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LamJiuFong/ip.git to complete... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/pra-navi/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/pra-navi/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LordSaumya/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/pra-navi/ip.git (master) completed! -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [50/480] Analyzing https://github.com/phiphi-tan/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LordSaumya/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LordSaumya/ip.git (master) completed! -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [51/480] Analyzing https://github.com/ktzy0305/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/phiphi-tan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/phiphi-tan/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ktzy0305/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ktzy0305/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [48/480] Analyzing https://github.com/pra-navi/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zsh-eng/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mingyuanc/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/glenngnng/ip.git completed! -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/GlendaChong/ip.git... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/phiphi-tan/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/GlendaChong/ip.git to complete... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/phiphi-tan/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/phiphi-tan/ip.git (master) completed! -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [52/480] Analyzing https://github.com/Chen1x/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Chen1x/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Chen1x/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zsh-eng/ip.git completed! -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/pra-navi/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/pra-navi/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/starrylight99/ip.git... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Chen1x/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/starrylight99/ip.git to complete... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Chen1x/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Chen1x/ip.git (master) completed! -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [53/480] Analyzing https://github.com/yanghengtang/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LamJiuFong/ip.git completed! -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AustinHuang1203/ip.git... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yanghengtang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yanghengtang/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/starrylight99/ip.git to complete... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/GlendaChong/ip.git to complete... +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AustinHuang1203/ip.git to complete... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ktzy0305/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mingyuanc/ip.git completed! -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LamJiuFong/ip.git completed! +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/seewhyjay/ip.git... -Sep 03, 2023 1:17:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ktzy0305/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ktzy0305/ip.git (master) completed! -Sep 03, 2023 1:17:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [54/480] Analyzing https://github.com/p-xp/ip.git (master)... -Sep 03, 2023 1:17:07 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:24 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/seewhyjay/ip.git to complete... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/p-xp/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/p-xp/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LINCHENYU2030S/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LINCHENYU2030S/ip.git (master)... +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LINCHENYU2030S/ip.git (master) completed! +Sep 03, 2023 3:41:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [49/480] Analyzing https://github.com/phiphi-tan/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/phiphi-tan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/phiphi-tan/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/pra-navi/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/pra-navi/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/pra-navi/ip.git (master) completed! +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [50/480] Analyzing https://github.com/LordSaumya/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/GlendaChong/ip.git completed! -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ruth-lim/ip.git... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LordSaumya/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LordSaumya/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ruth-lim/ip.git to complete... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yanghengtang/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yanghengtang/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yanghengtang/ip.git (master) completed! -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [55/480] Analyzing https://github.com/oeggy03/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/oeggy03/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/oeggy03/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/p-xp/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/p-xp/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/p-xp/ip.git (master) completed! -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [56/480] Analyzing https://github.com/johnnythesnake12/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/starrylight99/ip.git completed! -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/phiphi-tan/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/phiphi-tan/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/phiphi-tan/ip.git (master) completed! +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [51/480] Analyzing https://github.com/ktzy0305/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ktzy0305/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ktzy0305/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AustinHuang1203/ip.git completed! +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/limzhenwy/ip.git... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/limzhenwy/ip.git to complete... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/johnnythesnake12/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/johnnythesnake12/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AustinHuang1203/ip.git completed! -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/starrylight99/ip.git completed! +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/xCOLOURx/ip.git... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/xCOLOURx/ip.git to complete... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/oeggy03/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/oeggy03/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/oeggy03/ip.git (master) completed! -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [57/480] Analyzing https://github.com/applepiofmyeye/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/applepiofmyeye/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/applepiofmyeye/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LordSaumya/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LordSaumya/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LordSaumya/ip.git (master) completed! +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [52/480] Analyzing https://github.com/Chen1x/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Chen1x/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Chen1x/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/seewhyjay/ip.git completed! -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zacwong2151/ip.git... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zacwong2151/ip.git to complete... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/johnnythesnake12/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/johnnythesnake12/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/johnnythesnake12/ip.git (master) completed! -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [58/480] Analyzing https://github.com/TiwKangXu/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TiwKangXu/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TiwKangXu/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/applepiofmyeye/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Chen1x/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Chen1x/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Chen1x/ip.git (master) completed! +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [53/480] Analyzing https://github.com/johnnythesnake12/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/johnnythesnake12/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/johnnythesnake12/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ktzy0305/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ruth-lim/ip.git completed! -Sep 03, 2023 1:17:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/applepiofmyeye/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/applepiofmyeye/ip.git (master) completed! -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Zjinnnn/ip.git... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [59/480] Analyzing https://github.com/matochichap/ip.git (master)... -Sep 03, 2023 1:17:08 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Zjinnnn/ip.git to complete... -Sep 03, 2023 1:17:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/matochichap/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/matochichap/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xCOLOURx/ip.git completed! -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ktzy0305/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ktzy0305/ip.git (master) completed! +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [54/480] Analyzing https://github.com/oeggy03/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/oeggy03/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/oeggy03/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/johnnythesnake12/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/limzhenwy/ip.git completed! -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/johnnythesnake12/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/johnnythesnake12/ip.git (master) completed! +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [55/480] Analyzing https://github.com/yanghengtang/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/awhb/ip.git... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/awhb/ip.git to complete... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yanghengtang/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yanghengtang/ip.git (master)... +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xCOLOURx/ip.git completed! +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/teoks0199/ip.git... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:25 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/teoks0199/ip.git to complete... -Sep 03, 2023 1:17:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TiwKangXu/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TiwKangXu/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TiwKangXu/ip.git (master) completed! -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator analyzeRepos -INFO: [60/480] Analyzing https://github.com/ScarletBlanks/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ScarletBlanks/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ScarletBlanks/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/zacwong2151/ip.git completed! -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/qz1004/ip.git... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/qz1004/ip.git to complete... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/oeggy03/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/oeggy03/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/oeggy03/ip.git (master) completed! +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [56/480] Analyzing https://github.com/p-xp/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/p-xp/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/p-xp/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yanghengtang/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yanghengtang/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yanghengtang/ip.git (master) completed! +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [57/480] Analyzing https://github.com/matochichap/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Zjinnnn/ip.git completed! -Sep 03, 2023 1:17:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/matochichap/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/p-xp/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/pangyyen/ip.git... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/matochichap/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/matochichap/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/p-xp/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/p-xp/ip.git (master) completed! +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/pangyyen/ip.git to complete... -Sep 03, 2023 1:17:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [58/480] Analyzing https://github.com/applepiofmyeye/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/applepiofmyeye/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/applepiofmyeye/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/teoks0199/ip.git completed! +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/awhb/ip.git completed! +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Mahidharah/ip.git... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Mahidharah/ip.git to complete... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jason-raiin/ip.git... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/qz1004/ip.git completed! +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jason-raiin/ip.git to complete... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ravern/ip.git... +Sep 03, 2023 3:41:26 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ravern/ip.git to complete... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/applepiofmyeye/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/applepiofmyeye/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/applepiofmyeye/ip.git (master) completed! +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [59/480] Analyzing https://github.com/TiwKangXu/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TiwKangXu/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TiwKangXu/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/matochichap/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/matochichap/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/matochichap/ip.git (master) completed! -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [60/480] Analyzing https://github.com/ScarletBlanks/ip.git (master)... +Sep 03, 2023 3:41:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ScarletBlanks/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ScarletBlanks/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/pangyyen/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bobscodedump/ip.git... +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TiwKangXu/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bobscodedump/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TiwKangXu/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TiwKangXu/ip.git (master) completed! +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepos INFO: [61/480] Analyzing https://github.com/chiayunrong/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ravern/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nixonwidjaja/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nixonwidjaja/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Mahidharah/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jason-raiin/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/techjay-c/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chiayunrong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chiayunrong/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryanozx/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/techjay-c/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryanozx/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ScarletBlanks/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ScarletBlanks/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ScarletBlanks/ip.git (master) completed! -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepos INFO: [62/480] Analyzing https://github.com/devanshubisht/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chiayunrong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chiayunrong/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/devanshubisht/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/devanshubisht/ip.git (master)... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/teoks0199/ip.git completed! -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/awhb/ip.git completed! -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Mahidharah/ip.git... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Mahidharah/ip.git to complete... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jason-raiin/ip.git... -Sep 03, 2023 1:17:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jason-raiin/ip.git to complete... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/qz1004/ip.git completed! -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ravern/ip.git... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ravern/ip.git to complete... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/devanshubisht/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/chiayunrong/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/devanshubisht/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/devanshubisht/ip.git (master) completed! -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [63/480] Analyzing https://github.com/Clin-lyx/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Clin-lyx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Clin-lyx/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/chiayunrong/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [63/480] Analyzing https://github.com/jx124/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chiayunrong/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chiayunrong/ip.git (master) completed! -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [64/480] Analyzing https://github.com/jx124/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [64/480] Analyzing https://github.com/Clin-lyx/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jx124/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jx124/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/pangyyen/ip.git completed! -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bobscodedump/ip.git... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bobscodedump/ip.git to complete... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Mahidharah/ip.git completed! -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jason-raiin/ip.git completed! -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nixonwidjaja/ip.git... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/techjay-c/ip.git... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nixonwidjaja/ip.git to complete... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/techjay-c/ip.git to complete... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ravern/ip.git completed! -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Clin-lyx/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Clin-lyx/ip.git (master)... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bobscodedump/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LuahJunYang/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nixonwidjaja/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/techjay-c/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryanozx/ip.git completed! +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LuahJunYang/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HEEaZ/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dom-buri/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlainS87/ip.git... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dom-buri/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HEEaZ/ip.git to complete... +Sep 03, 2023 3:41:27 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlainS87/ip.git to complete... +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Clin-lyx/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryanozx/ip.git... -Sep 03, 2023 1:17:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryanozx/ip.git to complete... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Clin-lyx/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Clin-lyx/ip.git (master) completed! -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepos INFO: [65/480] Analyzing https://github.com/AryanG01/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AryanG01/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AryanG01/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jx124/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jx124/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AryanG01/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jx124/ip.git (master) completed! -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [66/480] Analyzing https://github.com/kayabuttertoastt/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jx124/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AryanG01/ip.git (master)... -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AryanG01/ip.git (master) completed! -Sep 03, 2023 1:17:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [67/480] Analyzing https://github.com/jonasongg/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [66/480] Analyzing https://github.com/kayabuttertoastt/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jx124/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jx124/ip.git (master) completed! +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [67/480] Analyzing https://github.com/sheryew/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kayabuttertoastt/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kayabuttertoastt/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jonasongg/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jonasongg/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bobscodedump/ip.git completed! -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LuahJunYang/ip.git... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LuahJunYang/ip.git to complete... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/techjay-c/ip.git completed! -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HEEaZ/ip.git... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HEEaZ/ip.git to complete... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryanozx/ip.git completed! -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nixonwidjaja/ip.git completed! -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dom-buri/ip.git... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dom-buri/ip.git to complete... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlainS87/ip.git... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlainS87/ip.git to complete... -Sep 03, 2023 1:17:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kayabuttertoastt/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kayabuttertoastt/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kayabuttertoastt/ip.git (master) completed! -Sep 03, 2023 1:17:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jonasongg/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [68/480] Analyzing https://github.com/sheryew/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jonasongg/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jonasongg/ip.git (master) completed! -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [69/480] Analyzing https://github.com/yiwen101/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/sheryew/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/sheryew/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yiwen101/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yiwen101/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sheryew/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LuahJunYang/ip.git completed! -Sep 03, 2023 1:17:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sheryew/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sheryew/ip.git (master) completed! -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [70/480] Analyzing https://github.com/tiongMax/ip.git (master)... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HEEaZ/ip.git completed! +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dom-buri/ip.git completed! +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tiongjjyi/ip.git... -Sep 03, 2023 1:17:11 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tiongjjyi/ip.git to complete... -Sep 03, 2023 1:17:11 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tiongMax/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tiongMax/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HEEaZ/ip.git completed! -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LuahJunYang/ip.git completed! +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Vanessamae23/ip.git... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Vanessamae23/ip.git to complete... -Sep 03, 2023 1:17:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yiwen101/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yiwen101/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yiwen101/ip.git (master) completed! -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [71/480] Analyzing https://github.com/chuababyy/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dom-buri/ip.git completed! -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chuababyy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chuababyy/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/fuyiqiao/ip.git... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Vanessamae23/ip.git to complete... +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sheryew/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/fuyiqiao/ip.git to complete... -Sep 03, 2023 1:17:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiongMax/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tiongMax/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tiongMax/ip.git (master) completed! -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [72/480] Analyzing https://github.com/supermii2/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/supermii2/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/supermii2/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tiongjjyi/ip.git completed! -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sheryew/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sheryew/ip.git (master) completed! +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [68/480] Analyzing https://github.com/jonasongg/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jonasongg/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jonasongg/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kayabuttertoastt/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kayabuttertoastt/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kayabuttertoastt/ip.git (master) completed! +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [69/480] Analyzing https://github.com/yiwen101/ip.git (master)... +Sep 03, 2023 3:41:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yiwen101/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yiwen101/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/fuyiqiao/ip.git completed! +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/spatuly/ip.git... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jonasongg/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/spatuly/ip.git to complete... -Sep 03, 2023 1:17:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/chuababyy/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jonasongg/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jonasongg/ip.git (master) completed! +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [70/480] Analyzing https://github.com/chuababyy/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Vanessamae23/ip.git completed! -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tiongjjyi/ip.git completed! +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanshiyu1999/ip.git... -Sep 03, 2023 1:17:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/chuababyy/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/chuababyy/ip.git (master) completed! -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [73/480] Analyzing https://github.com/remuslum/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanshiyu1999/ip.git to complete... -Sep 03, 2023 1:17:12 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/remuslum/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/remuslum/ip.git (master)... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/fuyiqiao/ip.git completed! -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chuababyy/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chuababyy/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kb-Tay/ip.git... -Sep 03, 2023 1:17:12 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Kb-Tay/ip.git to complete... -Sep 03, 2023 1:17:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/supermii2/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanshiyu1999/ip.git to complete... +Sep 03, 2023 3:41:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yiwen101/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yiwen101/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yiwen101/ip.git (master) completed! +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [71/480] Analyzing https://github.com/tiongMax/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/spatuly/ip.git completed! -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tiongMax/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tiongMax/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/beatricecst/ip.git... -Sep 03, 2023 1:17:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/supermii2/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/supermii2/ip.git (master) completed! -Sep 03, 2023 1:17:13 AM reposense.report.ReportGenerator analyzeRepos -INFO: [74/480] Analyzing https://github.com/kanna-1/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kb-Tay/ip.git completed! +Sep 03, 2023 3:41:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/chuababyy/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/beatricecst/ip.git to complete... -Sep 03, 2023 1:17:13 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kanna-1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kanna-1/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tanshiyu1999/ip.git completed! -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanveersingh10/ip.git... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tanveersingh10/ip.git to complete... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kb-Tay/ip.git completed! -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/thienmy0/ip.git... -Sep 03, 2023 1:17:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/remuslum/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:29 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/thienmy0/ip.git to complete... -Sep 03, 2023 1:17:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/remuslum/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/remuslum/ip.git (master) completed! -Sep 03, 2023 1:17:13 AM reposense.report.ReportGenerator analyzeRepos -INFO: [75/480] Analyzing https://github.com/newway1814/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/newway1814/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/newway1814/ip.git (master)... -Sep 03, 2023 1:17:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/beatricecst/ip.git completed! -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/chuababyy/ip.git (master)... +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/chuababyy/ip.git (master) completed! +Sep 03, 2023 3:41:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [72/480] Analyzing https://github.com/supermii2/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/supermii2/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/supermii2/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiongMax/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tiongMax/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlainS87/ip.git completed! +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tiongMax/ip.git (master) completed! +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [73/480] Analyzing https://github.com/nicolengk/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/s0ngyang/ip.git... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/s0ngyang/ip.git to complete... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kanna-1/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kanna-1/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kanna-1/ip.git (master) completed! -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepos -INFO: [76/480] Analyzing https://github.com/nicolengk/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanveersingh10/ip.git completed! -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ldinghan/ip.git... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicolengk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicolengk/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/beatricecst/ip.git completed! +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ldinghan/ip.git... +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/supermii2/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ldinghan/ip.git to complete... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/newway1814/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/newway1814/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/newway1814/ip.git (master) completed! -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlainS87/ip.git completed! -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepos -INFO: [77/480] Analyzing https://github.com/glenngnng/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/supermii2/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/supermii2/ip.git (master) completed! +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanveersingh10/ip.git completed! +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [74/480] Analyzing https://github.com/remuslum/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/feifeiraindrops/ip.git... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/thienmy0/ip.git completed! -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/feifeiraindrops/ip.git to complete... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/remuslum/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/remuslum/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/thienmy0/ip.git completed! +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ryanongwx/ip.git... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ryanongwx/ip.git to complete... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/glenngnng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/glenngnng/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicolengk/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicolengk/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicolengk/ip.git (master) completed! -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepos -INFO: [78/480] Analyzing https://github.com/zsh-eng/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zsh-eng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zsh-eng/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/glenngnng/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/glenngnng/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/glenngnng/ip.git (master) completed! -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator analyzeRepos -INFO: [79/480] Analyzing https://github.com/LamJiuFong/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LamJiuFong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LamJiuFong/ip.git (master)... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [75/480] Analyzing https://github.com/kanna-1/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kanna-1/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kanna-1/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/s0ngyang/ip.git completed! -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kwangthiag/ip.git... -Sep 03, 2023 1:17:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kwangthiag/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ldinghan/ip.git completed! -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/elhy1999/ip.git... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/remuslum/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kwangthiag/ip.git to complete... +Sep 03, 2023 3:41:30 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/elhy1999/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryanongwx/ip.git completed! -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/remuslum/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/remuslum/ip.git (master) completed! +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [76/480] Analyzing https://github.com/newway1814/ip.git (master)... +Sep 03, 2023 3:41:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/newway1814/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/newway1814/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/feifeiraindrops/ip.git completed! -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kanna-1/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/songgthu/ip.git... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/songgthu/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kanna-1/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kanna-1/ip.git (master) completed! +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [77/480] Analyzing https://github.com/zsh-eng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryanongwx/ip.git completed! +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/GohTengFong/ip.git... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/GohTengFong/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LamJiuFong/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LamJiuFong/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LamJiuFong/ip.git (master) completed! -Sep 03, 2023 1:17:15 AM reposense.report.ReportGenerator analyzeRepos -INFO: [80/480] Analyzing https://github.com/mingyuanc/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mingyuanc/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mingyuanc/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zsh-eng/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zsh-eng/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zsh-eng/ip.git (master) completed! -Sep 03, 2023 1:17:15 AM reposense.report.ReportGenerator analyzeRepos -INFO: [81/480] Analyzing https://github.com/GlendaChong/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/GlendaChong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/GlendaChong/ip.git (master)... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kwangthiag/ip.git completed! -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zsh-eng/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zsh-eng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/newway1814/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/newway1814/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/newway1814/ip.git (master) completed! +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [78/480] Analyzing https://github.com/glenngnng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/glenngnng/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/glenngnng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/elhy1999/ip.git completed! -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kwangthiag/ip.git completed! +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/songgthu/ip.git completed! +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/simbayippy/ip.git... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/simbayippy/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Khaleelur-Rahman/ip.git... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Khaleelur-Rahman/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/GohTengFong/ip.git completed! -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/proto-aiken-13/ip.git... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/proto-aiken-13/ip.git to complete... -Sep 03, 2023 1:17:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/songgthu/ip.git completed! -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Khaleelur-Rahman/ip.git to complete... +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/simbayippy/ip.git to complete... +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/GohTengFong/ip.git completed! +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/bwangpj/ip.git... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/bwangpj/ip.git to complete... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/glenngnng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/glenngnng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/glenngnng/ip.git (master) completed! +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [79/480] Analyzing https://github.com/mingyuanc/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mingyuanc/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mingyuanc/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zsh-eng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zsh-eng/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zsh-eng/ip.git (master) completed! +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [80/480] Analyzing https://github.com/LamJiuFong/ip.git (master)... +Sep 03, 2023 3:41:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LamJiuFong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LamJiuFong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/proto-aiken-13/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Khaleelur-Rahman/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/weeweh/ip.git... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/s-peiran/ip.git... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/simbayippy/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/s-peiran/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jylow/ip.git... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/weeweh/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mingyuanc/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/GlendaChong/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/GlendaChong/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jylow/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LamJiuFong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bwangpj/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lawruixi/ip.git... +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LamJiuFong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LamJiuFong/ip.git (master) completed! +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mingyuanc/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/GlendaChong/ip.git (master) completed! -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [82/480] Analyzing https://github.com/starrylight99/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lawruixi/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mingyuanc/ip.git (master) completed! -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [83/480] Analyzing https://github.com/AustinHuang1203/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/starrylight99/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/starrylight99/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [81/480] Analyzing https://github.com/GlendaChong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [82/480] Analyzing https://github.com/AustinHuang1203/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/GlendaChong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/GlendaChong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AustinHuang1203/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AustinHuang1203/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/starrylight99/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/starrylight99/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/starrylight99/ip.git (master) completed! -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [84/480] Analyzing https://github.com/seewhyjay/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seewhyjay/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seewhyjay/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/simbayippy/ip.git completed! -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/weeweh/ip.git... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/weeweh/ip.git to complete... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Khaleelur-Rahman/ip.git completed! -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/s-peiran/ip.git... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AustinHuang1203/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/proto-aiken-13/ip.git completed! -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/s-peiran/ip.git to complete... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jylow/ip.git... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jylow/ip.git to complete... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AustinHuang1203/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AustinHuang1203/ip.git (master) completed! -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [83/480] Analyzing https://github.com/starrylight99/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/starrylight99/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/starrylight99/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/GlendaChong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/GlendaChong/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/GlendaChong/ip.git (master) completed! +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [84/480] Analyzing https://github.com/seewhyjay/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s-peiran/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JeremyYong128/ip.git... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seewhyjay/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seewhyjay/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JeremyYong128/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/weeweh/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/starrylight99/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brandon-nam/ip.git... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jylow/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brandon-nam/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LHeng1/ip.git... +Sep 03, 2023 3:41:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/starrylight99/ip.git (master)... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/starrylight99/ip.git (master) completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LHeng1/ip.git to complete... +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator analyzeRepos INFO: [85/480] Analyzing https://github.com/ruth-lim/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ruth-lim/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ruth-lim/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bwangpj/ip.git completed! -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lawruixi/ip.git... -Sep 03, 2023 1:17:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lawruixi/ip.git to complete... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lawruixi/ip.git completed! +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Leb14/ip.git... +Sep 03, 2023 3:41:32 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Leb14/ip.git to complete... +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/seewhyjay/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/seewhyjay/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/seewhyjay/ip.git (master) completed! -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [86/480] Analyzing https://github.com/xCOLOURx/ip.git (master)... -Sep 03, 2023 1:17:16 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [86/480] Analyzing https://github.com/limzhenwy/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/limzhenwy/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/limzhenwy/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JeremyYong128/ip.git completed! +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/B-enguin/ip.git... +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/B-enguin/ip.git to complete... +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/limzhenwy/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/limzhenwy/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/limzhenwy/ip.git (master) completed! +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [87/480] Analyzing https://github.com/xCOLOURx/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xCOLOURx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xCOLOURx/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/weeweh/ip.git completed! -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JeremyYong128/ip.git... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brandon-nam/ip.git completed! +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ruth-lim/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JeremyYong128/ip.git to complete... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/xCOLOURx/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/s-kybound/ip.git... +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/s-kybound/ip.git to complete... +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ruth-lim/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/xCOLOURx/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/xCOLOURx/ip.git (master) completed! -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepos -INFO: [87/480] Analyzing https://github.com/limzhenwy/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ruth-lim/ip.git (master) completed! -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LHeng1/ip.git completed! +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [88/480] Analyzing https://github.com/zacwong2151/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s-peiran/ip.git completed! -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brandon-nam/ip.git... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brandon-nam/ip.git to complete... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wesho1107/ip.git... +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wesho1107/ip.git to complete... +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zacwong2151/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zacwong2151/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/limzhenwy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/limzhenwy/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lawruixi/ip.git completed! -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LHeng1/ip.git... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LHeng1/ip.git to complete... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jylow/ip.git completed! -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Leb14/ip.git... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Leb14/ip.git to complete... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Leb14/ip.git completed! +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yihfei/ip.git... +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yihfei/ip.git to complete... +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zacwong2151/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zacwong2151/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zacwong2151/ip.git (master) completed! -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/limzhenwy/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [89/480] Analyzing https://github.com/Zjinnnn/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/limzhenwy/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/xCOLOURx/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/B-enguin/ip.git completed! +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Zjinnnn/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Zjinnnn/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/limzhenwy/ip.git (master) completed! -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AaronJT1/ip.git... +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/xCOLOURx/ip.git (master)... +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/xCOLOURx/ip.git (master) completed! +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [90/480] Analyzing https://github.com/teoks0199/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:33 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AaronJT1/ip.git to complete... +Sep 03, 2023 3:41:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teoks0199/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teoks0199/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JeremyYong128/ip.git completed! -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/B-enguin/ip.git... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Zjinnnn/ip.git (master)... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/B-enguin/ip.git to complete... -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brandon-nam/ip.git completed! -Sep 03, 2023 1:17:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/s-kybound/ip.git... -Sep 03, 2023 1:17:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/teoks0199/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Zjinnnn/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Zjinnnn/ip.git (master) completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [91/480] Analyzing https://github.com/awhb/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LHeng1/ip.git completed! -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/s-kybound/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wesho1107/ip.git completed! +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dlathyun/ip.git... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dlathyun/ip.git to complete... +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/awhb/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/awhb/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s-kybound/ip.git completed! +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/teoks0199/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ricketytoc/ip.git... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/teoks0199/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ricketytoc/ip.git to complete... +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/teoks0199/ip.git (master) completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [92/480] Analyzing https://github.com/qz1004/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wesho1107/ip.git... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wesho1107/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/awhb/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/awhb/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Leb14/ip.git completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/qz1004/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/qz1004/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yihfei/ip.git... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yihfei/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yihfei/ip.git completed! +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Angelyxx/ip.git... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Angelyxx/ip.git to complete... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/qz1004/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/qz1004/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/qz1004/ip.git (master) completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [93/480] Analyzing https://github.com/pangyyen/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/pangyyen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/pangyyen/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/awhb/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/awhb/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/awhb/ip.git (master) completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [94/480] Analyzing https://github.com/Mahidharah/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Mahidharah/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Mahidharah/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/B-enguin/ip.git completed! -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Mahidharah/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AaronJT1/ip.git... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s-kybound/ip.git completed! -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AaronJT1/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dlathyun/ip.git... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dlathyun/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Mahidharah/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Mahidharah/ip.git (master) completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [95/480] Analyzing https://github.com/jason-raiin/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wesho1107/ip.git completed! -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/pangyyen/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yihfei/ip.git completed! -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ricketytoc/ip.git... -Sep 03, 2023 1:17:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/pangyyen/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Angelyxx/ip.git... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/pangyyen/ip.git (master) completed! -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [96/480] Analyzing https://github.com/ravern/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jason-raiin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jason-raiin/ip.git (master)... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Angelyxx/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ricketytoc/ip.git to complete... -Sep 03, 2023 1:17:18 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [94/480] Analyzing https://github.com/ravern/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AaronJT1/ip.git completed! +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ravern/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ravern/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jason-raiin/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jason-raiin/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jason-raiin/ip.git (master) completed! -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [97/480] Analyzing https://github.com/bobscodedump/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bobscodedump/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bobscodedump/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ravern/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ravern/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ravern/ip.git (master) completed! -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [98/480] Analyzing https://github.com/techjay-c/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AaronJT1/ip.git completed! -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/techjay-c/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/techjay-c/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jingting1412/ip.git... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jingting1412/ip.git to complete... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dlathyun/ip.git completed! -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SinhaVedant/ip.git... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ricketytoc/ip.git completed! -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Angelyxx/ip.git completed! -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SinhaVedant/ip.git... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SinhaVedant/ip.git to complete... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Angelyxx/ip.git completed! +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dlathyun/ip.git completed! +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/freddychenyouren2/ip.git... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jordankanghm/ip.git... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jordankanghm/ip.git to complete... -Sep 03, 2023 1:17:19 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/freddychenyouren2/ip.git to complete... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/bobscodedump/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/bobscodedump/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/bobscodedump/ip.git (master) completed! -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [99/480] Analyzing https://github.com/ryanozx/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ryanozx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ryanozx/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/techjay-c/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/techjay-c/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/techjay-c/ip.git (master) completed! -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [100/480] Analyzing https://github.com/nixonwidjaja/ip.git (master)... -Sep 03, 2023 1:17:19 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nixonwidjaja/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nixonwidjaja/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nixonwidjaja/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ryanozx/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nixonwidjaja/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nixonwidjaja/ip.git (master) completed! -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jordankanghm/ip.git to complete... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/pangyyen/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/pangyyen/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/pangyyen/ip.git (master) completed! +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [95/480] Analyzing https://github.com/Mahidharah/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Mahidharah/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Mahidharah/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ravern/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Mahidharah/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Mahidharah/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Mahidharah/ip.git (master) completed! +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [96/480] Analyzing https://github.com/jason-raiin/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jingting1412/ip.git completed! -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [101/480] Analyzing https://github.com/LuahJunYang/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ravern/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/adhigop13/ip.git... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ravern/ip.git (master) completed! +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [97/480] Analyzing https://github.com/bobscodedump/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jason-raiin/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jason-raiin/ip.git (master)... +Sep 03, 2023 3:41:34 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/adhigop13/ip.git to complete... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:34 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bobscodedump/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bobscodedump/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/SinhaVedant/ip.git completed! -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ryanozx/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ryanozx/ip.git (master) completed! -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/waseemingly/ip.git... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [102/480] Analyzing https://github.com/HEEaZ/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LuahJunYang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LuahJunYang/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/waseemingly/ip.git to complete... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/HEEaZ/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/HEEaZ/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jordankanghm/ip.git completed! -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/freddychenyouren2/ip.git completed! +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/raydenlim/ip.git... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/raydenlim/ip.git to complete... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/freddychenyouren2/ip.git completed! -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jordankanghm/ip.git completed! +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jingyu987/ip.git... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jingyu987/ip.git to complete... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LuahJunYang/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LuahJunYang/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LuahJunYang/ip.git (master) completed! -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [103/480] Analyzing https://github.com/dom-buri/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dom-buri/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dom-buri/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/HEEaZ/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/HEEaZ/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/HEEaZ/ip.git (master) completed! -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [104/480] Analyzing https://github.com/tiongjjyi/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tiongjjyi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tiongjjyi/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dom-buri/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dom-buri/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dom-buri/ip.git (master) completed! -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jason-raiin/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jason-raiin/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jason-raiin/ip.git (master) completed! +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [98/480] Analyzing https://github.com/ryanozx/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/bobscodedump/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ryanozx/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ryanozx/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/bobscodedump/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/bobscodedump/ip.git (master) completed! +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [99/480] Analyzing https://github.com/techjay-c/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/adhigop13/ip.git completed! -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [105/480] Analyzing https://github.com/Vanessamae23/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/FerdiHS/ip.git... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/FerdiHS/ip.git to complete... -Sep 03, 2023 1:17:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Vanessamae23/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Vanessamae23/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/techjay-c/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/techjay-c/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/waseemingly/ip.git completed! -Sep 03, 2023 1:17:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiongjjyi/ip.git (master)... -Sep 03, 2023 1:17:20 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jrchoo/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ryanozx/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jrchoo/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tiongjjyi/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tiongjjyi/ip.git (master) completed! -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [106/480] Analyzing https://github.com/fuyiqiao/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/fuyiqiao/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/fuyiqiao/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingyu987/ip.git completed! -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RiyaMehta2211/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ryanozx/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ryanozx/ip.git (master) completed! +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/techjay-c/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [100/480] Analyzing https://github.com/nixonwidjaja/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/techjay-c/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/techjay-c/ip.git (master) completed! +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [101/480] Analyzing https://github.com/dom-buri/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nixonwidjaja/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nixonwidjaja/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dom-buri/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dom-buri/ip.git (master)... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/raydenlim/ip.git completed! -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leezhanpeng/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RiyaMehta2211/ip.git... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RiyaMehta2211/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingyu987/ip.git completed! +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leezhanpeng/ip.git... +Sep 03, 2023 3:41:35 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/leezhanpeng/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Vanessamae23/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Vanessamae23/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Vanessamae23/ip.git (master) completed! -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [107/480] Analyzing https://github.com/spatuly/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/spatuly/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/spatuly/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/fuyiqiao/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/fuyiqiao/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/fuyiqiao/ip.git (master) completed! -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [108/480] Analyzing https://github.com/tanshiyu1999/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanshiyu1999/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanshiyu1999/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nixonwidjaja/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/FerdiHS/ip.git completed! -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nixonwidjaja/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nixonwidjaja/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [102/480] Analyzing https://github.com/HEEaZ/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/juzzztinsoong/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/juzzztinsoong/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/spatuly/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/spatuly/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/spatuly/ip.git (master) completed! -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [109/480] Analyzing https://github.com/Kb-Tay/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/HEEaZ/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/HEEaZ/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dom-buri/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dom-buri/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dom-buri/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [103/480] Analyzing https://github.com/LuahJunYang/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LuahJunYang/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LuahJunYang/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jrchoo/ip.git completed! -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/darrentfy/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kb-Tay/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kb-Tay/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/darrentfy/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanshiyu1999/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tanshiyu1999/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LuahJunYang/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/HEEaZ/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LuahJunYang/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LuahJunYang/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [104/480] Analyzing https://github.com/fuyiqiao/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leezhanpeng/ip.git completed! +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/HEEaZ/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/HEEaZ/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/RiyaMehta2211/ip.git completed! -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanshiyu1999/ip.git (master) completed! -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [110/480] Analyzing https://github.com/beatricecst/ip.git (master)... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [105/480] Analyzing https://github.com/tiongjjyi/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/redtailedfox/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leezhanpeng/ip.git completed! -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/redtailedfox/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Fallman2/ip.git... -Sep 03, 2023 1:17:21 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/redtailedfox/ip.git to complete... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/fuyiqiao/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/fuyiqiao/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Fallman2/ip.git to complete... -Sep 03, 2023 1:17:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/beatricecst/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/beatricecst/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Kb-Tay/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Kb-Tay/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Kb-Tay/ip.git (master) completed! -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [111/480] Analyzing https://github.com/tanveersingh10/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanveersingh10/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanveersingh10/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tiongjjyi/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tiongjjyi/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiongjjyi/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/fuyiqiao/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tiongjjyi/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tiongjjyi/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [106/480] Analyzing https://github.com/Vanessamae23/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/fuyiqiao/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/fuyiqiao/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [107/480] Analyzing https://github.com/spatuly/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Vanessamae23/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Vanessamae23/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/spatuly/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/spatuly/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/juzzztinsoong/ip.git completed! -Sep 03, 2023 1:17:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/beatricecst/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Heran9/ip.git... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Heran9/ip.git to complete... -Sep 03, 2023 1:17:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/beatricecst/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/beatricecst/ip.git (master) completed! -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [112/480] Analyzing https://github.com/AlainS87/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/darrentfy/ip.git completed! -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/VN-Hao/ip.git... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/VN-Hao/ip.git to complete... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/redtailedfox/ip.git completed! -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/VN-Hao/ip.git to complete... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jingjie88/ip.git... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jingjie88/ip.git to complete... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Vanessamae23/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Fallman2/ip.git completed! -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/H1410101/ip.git... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/H1410101/ip.git to complete... -Sep 03, 2023 1:17:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanveersingh10/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tanveersingh10/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanveersingh10/ip.git (master) completed! -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [113/480] Analyzing https://github.com/thienmy0/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/thienmy0/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/thienmy0/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AlainS87/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AlainS87/ip.git (master)... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Vanessamae23/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Vanessamae23/ip.git (master) completed! +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [108/480] Analyzing https://github.com/Kb-Tay/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/spatuly/ip.git (master)... +Sep 03, 2023 3:41:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kb-Tay/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kb-Tay/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/spatuly/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/spatuly/ip.git (master) completed! +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [109/480] Analyzing https://github.com/tanshiyu1999/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanshiyu1999/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanshiyu1999/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanshiyu1999/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Kb-Tay/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tanshiyu1999/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanshiyu1999/ip.git (master) completed! +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [110/480] Analyzing https://github.com/AlainS87/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Kb-Tay/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Kb-Tay/ip.git (master) completed! +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Heran9/ip.git completed! -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [111/480] Analyzing https://github.com/beatricecst/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kimshitong/ip.git... -Sep 03, 2023 1:17:22 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kimshitong/ip.git to complete... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/VN-Hao/ip.git completed! -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/beatricecst/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/beatricecst/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingjie88/ip.git completed! +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ivanleekk/ip.git... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ivanleekk/ip.git to complete... -Sep 03, 2023 1:17:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/thienmy0/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingjie88/ip.git completed! -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/VN-Hao/ip.git completed! +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lamchenghou/ip.git... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/H1410101/ip.git completed! -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lamchenghou/ip.git to complete... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tayruxin/ip.git... -Sep 03, 2023 1:17:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/thienmy0/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/thienmy0/ip.git (master) completed! -Sep 03, 2023 1:17:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [114/480] Analyzing https://github.com/s0ngyang/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tayruxin/ip.git to complete... -Sep 03, 2023 1:17:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/s0ngyang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/s0ngyang/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/beatricecst/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/beatricecst/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/beatricecst/ip.git (master) completed! +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [112/480] Analyzing https://github.com/tanveersingh10/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanveersingh10/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanveersingh10/ip.git (master)... +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/kimshitong/ip.git completed! -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/raynertjx/ip.git... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/raynertjx/ip.git to complete... -Sep 03, 2023 1:17:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/s0ngyang/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/s0ngyang/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/s0ngyang/ip.git (master) completed! -Sep 03, 2023 1:17:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [115/480] Analyzing https://github.com/ldinghan/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ldinghan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ldinghan/ip.git (master)... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AlainS87/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AlainS87/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanveersingh10/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tanveersingh10/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanveersingh10/ip.git (master) completed! +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator analyzeRepos +INFO: [113/480] Analyzing https://github.com/thienmy0/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/thienmy0/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:38 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/thienmy0/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ivanleekk/ip.git completed! -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zhengyup/ip.git... -Sep 03, 2023 1:17:23 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zhengyup/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tayruxin/ip.git completed! +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lamchenghou/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/larrywang0701/ip.git... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tayruxin/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/larrywang0701/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Carlintyj/ip.git... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ldinghan/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Carlintyj/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ldinghan/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ldinghan/ip.git (master) completed! -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [116/480] Analyzing https://github.com/ryanongwx/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ryanongwx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ryanongwx/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/larrywang0701/ip.git to complete... +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/raynertjx/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/wxwern/ip.git... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/wxwern/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ryanongwx/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ryanongwx/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ryanongwx/ip.git (master) completed! -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [117/480] Analyzing https://github.com/feifeiraindrops/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/feifeiraindrops/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/feifeiraindrops/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AlainS87/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AlainS87/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AlainS87/ip.git (master) completed! -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [118/480] Analyzing https://github.com/elhy1999/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/thienmy0/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/thienmy0/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/thienmy0/ip.git (master) completed! +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator analyzeRepos +INFO: [114/480] Analyzing https://github.com/s0ngyang/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/s0ngyang/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:38 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/s0ngyang/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/s0ngyang/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/s0ngyang/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/s0ngyang/ip.git (master) completed! +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator analyzeRepos +INFO: [115/480] Analyzing https://github.com/ldinghan/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ldinghan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:38 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ldinghan/ip.git (master)... +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/zhengyup/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/elhy1999/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/elhy1999/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nubnubyas/ip.git... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nubnubyas/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Carlintyj/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/aslam341/ip.git... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aslam341/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/larrywang0701/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LWZ19/ip.git... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aslam341/ip.git to complete... +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LWZ19/ip.git to complete... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/feifeiraindrops/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/feifeiraindrops/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/feifeiraindrops/ip.git (master) completed! -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [119/480] Analyzing https://github.com/kwangthiag/ip.git (master)... -Sep 03, 2023 1:17:24 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/wxwern/ip.git completed! -Sep 03, 2023 1:17:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kwangthiag/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kwangthiag/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/timleow/ip.git... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:38 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/timleow/ip.git to complete... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/elhy1999/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kwangthiag/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/elhy1999/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/elhy1999/ip.git (master) completed! -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [120/480] Analyzing https://github.com/GohTengFong/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kwangthiag/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kwangthiag/ip.git (master) completed! -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [121/480] Analyzing https://github.com/songgthu/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/GohTengFong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/GohTengFong/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/songgthu/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/songgthu/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ldinghan/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ldinghan/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ldinghan/ip.git (master) completed! +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepos +INFO: [116/480] Analyzing https://github.com/feifeiraindrops/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/feifeiraindrops/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/feifeiraindrops/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/nubnubyas/ip.git completed! -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aslam341/ip.git completed! -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/rayshawntan/ip.git... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/rayshawntan/ip.git to complete... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/feifeiraindrops/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AlainS87/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/feifeiraindrops/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/feifeiraindrops/ip.git (master) completed! +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepos +INFO: [117/480] Analyzing https://github.com/ryanongwx/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aslam341/ip.git completed! +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/aexolate/ip.git... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/aexolate/ip.git to complete... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AlainS87/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AlainS87/ip.git (master) completed! +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepos +INFO: [118/480] Analyzing https://github.com/kwangthiag/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ryanongwx/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ryanongwx/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kwangthiag/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kwangthiag/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/LWZ19/ip.git completed! -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sheeepen/ip.git... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sheeepen/ip.git to complete... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/timleow/ip.git completed! -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sheeepen/ip.git... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/shuyangk/ip.git... -Sep 03, 2023 1:17:25 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sheeepen/ip.git to complete... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shuyangk/ip.git to complete... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/GohTengFong/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/GohTengFong/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/GohTengFong/ip.git (master) completed! -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [122/480] Analyzing https://github.com/simbayippy/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/simbayippy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/simbayippy/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/songgthu/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/songgthu/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/songgthu/ip.git (master) completed! -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [123/480] Analyzing https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 03, 2023 1:17:25 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Khaleelur-Rahman/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/simbayippy/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/simbayippy/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aexolate/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/simbayippy/ip.git (master) completed! -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [124/480] Analyzing https://github.com/proto-aiken-13/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ncmathan/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ryanongwx/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ryanongwx/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ryanongwx/ip.git (master) completed! +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepos +INFO: [119/480] Analyzing https://github.com/elhy1999/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/elhy1999/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/elhy1999/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kwangthiag/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kwangthiag/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kwangthiag/ip.git (master) completed! +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator analyzeRepos +INFO: [120/480] Analyzing https://github.com/songgthu/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/songgthu/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/songgthu/ip.git (master)... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/rayshawntan/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ncmathan/ip.git... +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ncmathan/ip.git to complete... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aexolate/ip.git completed! +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/iyioon/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/proto-aiken-13/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/proto-aiken-13/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sheeepen/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:39 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/iyioon/ip.git to complete... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sheeepen/ip.git completed! +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kiwibang/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kiwibang/ip.git to complete... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/shuyangk/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/mingyu-wan/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/mingyu-wan/ip.git to complete... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/proto-aiken-13/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Khaleelur-Rahman/ip.git (master) completed! -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/proto-aiken-13/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/proto-aiken-13/ip.git (master) completed! -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [125/480] Analyzing https://github.com/bwangpj/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [126/480] Analyzing https://github.com/weeweh/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bwangpj/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bwangpj/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/weeweh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/weeweh/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/bwangpj/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/bwangpj/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/bwangpj/ip.git (master) completed! -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [127/480] Analyzing https://github.com/s-peiran/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/s-peiran/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/s-peiran/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/weeweh/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/elhy1999/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/elhy1999/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/elhy1999/ip.git (master) completed! +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/songgthu/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepos +INFO: [121/480] Analyzing https://github.com/GohTengFong/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/songgthu/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/songgthu/ip.git (master) completed! +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepos +INFO: [122/480] Analyzing https://github.com/proto-aiken-13/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/GohTengFong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/GohTengFong/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/proto-aiken-13/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/proto-aiken-13/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ncmathan/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LuoZYi/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LuoZYi/ip.git to complete... -Sep 03, 2023 1:17:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/weeweh/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/weeweh/ip.git (master) completed! -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [128/480] Analyzing https://github.com/lawruixi/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lawruixi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lawruixi/ip.git (master)... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/proto-aiken-13/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/proto-aiken-13/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/proto-aiken-13/ip.git (master) completed! +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepos +INFO: [123/480] Analyzing https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Khaleelur-Rahman/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/iyioon/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kiwibang/ip.git completed! -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/asdfghjkxd/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/asdfghjkxd/ip.git to complete... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/GohTengFong/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/GohTengFong/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/GohTengFong/ip.git (master) completed! +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepos +INFO: [124/480] Analyzing https://github.com/simbayippy/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/simbayippy/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/simbayippy/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Khaleelur-Rahman/ip.git (master) completed! +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator analyzeRepos +INFO: [125/480] Analyzing https://github.com/bwangpj/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kiwibang/ip.git completed! +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/sushiyade/ip.git... -Sep 03, 2023 1:17:26 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/sushiyade/ip.git to complete... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bwangpj/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bwangpj/ip.git (master)... +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/mingyu-wan/ip.git completed! -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Nid21cs/ip.git... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Nid21cs/ip.git to complete... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/s-peiran/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/s-peiran/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/s-peiran/ip.git (master) completed! -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [129/480] Analyzing https://github.com/jylow/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jylow/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jylow/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lawruixi/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lawruixi/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lawruixi/ip.git (master) completed! -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [130/480] Analyzing https://github.com/JeremyYong128/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JeremyYong128/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JeremyYong128/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/LuoZYi/ip.git completed! -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jylow/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/McNaBry/ip.git... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/McNaBry/ip.git to complete... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JeremyYong128/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jylow/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jylow/ip.git (master) completed! -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [131/480] Analyzing https://github.com/brandon-nam/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JeremyYong128/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JeremyYong128/ip.git (master) completed! -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [132/480] Analyzing https://github.com/LHeng1/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/brandon-nam/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/brandon-nam/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LHeng1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LHeng1/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sushiyade/ip.git completed! -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/miljyy/ip.git... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/simbayippy/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/asdfghjkxd/ip.git completed! -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/simbayippy/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/simbayippy/ip.git (master) completed! +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepos +INFO: [126/480] Analyzing https://github.com/s-peiran/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/miljyy/ip.git... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/miljyy/ip.git to complete... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/s-peiran/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/s-peiran/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/bwangpj/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/bwangpj/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/bwangpj/ip.git (master) completed! +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepos +INFO: [127/480] Analyzing https://github.com/weeweh/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/weeweh/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/weeweh/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/s-peiran/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sushiyade/ip.git completed! +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/s-peiran/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/s-peiran/ip.git (master) completed! +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepos +INFO: [128/480] Analyzing https://github.com/jylow/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ncduy0303/ip.git... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ncduy0303/ip.git to complete... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jylow/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jylow/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Nid21cs/ip.git completed! -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/eyelessrhyme7/ip.git... -Sep 03, 2023 1:17:27 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/eyelessrhyme7/ip.git to complete... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LHeng1/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/brandon-nam/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LHeng1/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LHeng1/ip.git (master) completed! -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [133/480] Analyzing https://github.com/Leb14/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/brandon-nam/ip.git (master)... -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/brandon-nam/ip.git (master) completed! -Sep 03, 2023 1:17:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [134/480] Analyzing https://github.com/B-enguin/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Leb14/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Leb14/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/B-enguin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/B-enguin/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/McNaBry/ip.git completed! -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ruishanteo/ip.git... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ruishanteo/ip.git to complete... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/miljyy/ip.git completed! -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/m1oojv/ip.git... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/eyelessrhyme7/ip.git completed! -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nixx162/ip.git... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/m1oojv/ip.git to complete... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/weeweh/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/weeweh/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jylow/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/weeweh/ip.git (master) completed! +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepos +INFO: [129/480] Analyzing https://github.com/lawruixi/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jylow/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jylow/ip.git (master) completed! +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator analyzeRepos +INFO: [130/480] Analyzing https://github.com/JeremyYong128/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lawruixi/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lawruixi/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JeremyYong128/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JeremyYong128/ip.git (master)... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ncduy0303/ip.git completed! -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nixx162/ip.git... +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Nixx162/ip.git to complete... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/eyelessrhyme7/ip.git completed! +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Gabriel4357/ip.git... -Sep 03, 2023 1:17:28 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:41 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Gabriel4357/ip.git to complete... -Sep 03, 2023 1:17:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Leb14/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Leb14/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Leb14/ip.git (master) completed! -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [135/480] Analyzing https://github.com/s-kybound/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/B-enguin/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/s-kybound/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/s-kybound/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/B-enguin/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/B-enguin/ip.git (master) completed! -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [136/480] Analyzing https://github.com/wesho1107/ip.git (master)... -Sep 03, 2023 1:17:28 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wesho1107/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wesho1107/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ruishanteo/ip.git completed! -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JeremyYong128/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/mfjkri/ip.git... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lawruixi/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/m1oojv/ip.git completed! +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JeremyYong128/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JeremyYong128/ip.git (master) completed! +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepos +INFO: [131/480] Analyzing https://github.com/brandon-nam/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/mfjkri/ip.git to complete... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nixx162/ip.git completed! -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/junhonglow/ip.git... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/m1oojv/ip.git completed! -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/brandon-nam/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/brandon-nam/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lawruixi/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lawruixi/ip.git (master) completed! +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/junhonglow/ip.git to complete... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepos +INFO: [132/480] Analyzing https://github.com/LHeng1/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LHeng1/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LHeng1/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/brandon-nam/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/brandon-nam/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/brandon-nam/ip.git (master) completed! +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepos +INFO: [133/480] Analyzing https://github.com/Leb14/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Leb14/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Leb14/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LHeng1/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LHeng1/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LHeng1/ip.git (master) completed! +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepos +INFO: [134/480] Analyzing https://github.com/B-enguin/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/B-enguin/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/B-enguin/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nixx162/ip.git completed! +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/RoeReRe/ip.git... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Gabriel4357/ip.git completed! -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RoeReRe/ip.git to complete... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Gabriel4357/ip.git completed! +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Badatprogrammiing/ip.git... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/s-kybound/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Badatprogrammiing/ip.git to complete... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/s-kybound/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/s-kybound/ip.git (master) completed! -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [137/480] Analyzing https://github.com/yihfei/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yihfei/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yihfei/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mfjkri/ip.git completed! +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nknguyenhc/ip.git... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nknguyenhc/ip.git to complete... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/junhonglow/ip.git completed! +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/winson8222/ip.git... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/winson8222/ip.git to complete... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Leb14/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Leb14/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Leb14/ip.git (master) completed! +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepos +INFO: [135/480] Analyzing https://github.com/wesho1107/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wesho1107/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wesho1107/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/B-enguin/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/B-enguin/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/B-enguin/ip.git (master) completed! +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator analyzeRepos +INFO: [136/480] Analyzing https://github.com/s-kybound/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RoeReRe/ip.git completed! +Sep 03, 2023 3:41:42 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/s-kybound/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/s-kybound/ip.git (master)... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wujy28/ip.git... +Sep 03, 2023 3:41:42 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wujy28/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Badatprogrammiing/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SimWPEric/ip.git... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SimWPEric/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/winson8222/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HugeNoob/ip.git... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nknguyenhc/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HugeNoob/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lerxuann/ip.git... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lerxuann/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wesho1107/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wesho1107/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wesho1107/ip.git (master) completed! -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepos +INFO: [137/480] Analyzing https://github.com/yihfei/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yihfei/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yihfei/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/s-kybound/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wujy28/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/s-kybound/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/s-kybound/ip.git (master) completed! +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepos INFO: [138/480] Analyzing https://github.com/AaronJT1/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Weiennn/ip.git... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Weiennn/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AaronJT1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AaronJT1/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SimWPEric/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/maj0-0/ip.git... +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yihfei/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/maj0-0/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yihfei/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yihfei/ip.git (master) completed! -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [139/480] Analyzing https://github.com/dlathyun/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dlathyun/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dlathyun/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mfjkri/ip.git completed! -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nknguyenhc/ip.git... -Sep 03, 2023 1:17:29 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nknguyenhc/ip.git to complete... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepos +INFO: [139/480] Analyzing https://github.com/ricketytoc/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ricketytoc/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ricketytoc/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lerxuann/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AaronJT1/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/qyaner/ip.git... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HugeNoob/ip.git completed! +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/qyaner/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AaronJT1/ip.git (master)... -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AaronJT1/ip.git (master) completed! -Sep 03, 2023 1:17:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [140/480] Analyzing https://github.com/Angelyxx/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Badatprogrammiing/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/winson8222/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/winson8222/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/junhonglow/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RoeReRe/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Angelyxx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Angelyxx/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wujy28/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SimWPEric/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wujy28/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SimWPEric/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruiyangzh/ip.git... +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator analyzeRepos +INFO: [140/480] Analyzing https://github.com/dlathyun/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruiyangzh/ip.git to complete... +Sep 03, 2023 3:41:43 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dlathyun/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dlathyun/ip.git (master)... +Sep 03, 2023 3:41:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dlathyun/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dlathyun/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dlathyun/ip.git (master) completed! -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [141/480] Analyzing https://github.com/ricketytoc/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ricketytoc/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ricketytoc/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Angelyxx/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Angelyxx/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Angelyxx/ip.git (master) completed! -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepos +INFO: [141/480] Analyzing https://github.com/Angelyxx/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Angelyxx/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Angelyxx/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Weiennn/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ricketytoc/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bombbird2001/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bombbird2001/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ricketytoc/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ricketytoc/ip.git (master) completed! +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepos INFO: [142/480] Analyzing https://github.com/jingting1412/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/maj0-0/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/hyc17003/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jingting1412/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jingting1412/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nknguyenhc/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HugeNoob/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HugeNoob/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/winson8222/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SimWPEric/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lerxuann/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wujy28/ip.git completed! -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lerxuann/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Weiennn/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/maj0-0/ip.git... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Weiennn/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/maj0-0/ip.git to complete... -Sep 03, 2023 1:17:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hyc17003/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/qyaner/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/adammangzijun/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/adammangzijun/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruiyangzh/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andytoh1/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andytoh1/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Angelyxx/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jingting1412/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Angelyxx/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Angelyxx/ip.git (master) completed! +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepos +INFO: [143/480] Analyzing https://github.com/SinhaVedant/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jingting1412/ip.git (master)... -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jingting1412/ip.git (master) completed! -Sep 03, 2023 1:17:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [143/480] Analyzing https://github.com/SinhaVedant/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ricketytoc/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SinhaVedant/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SinhaVedant/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ricketytoc/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ricketytoc/ip.git (master) completed! -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [144/480] Analyzing https://github.com/jordankanghm/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jordankanghm/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jordankanghm/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepos +INFO: [144/480] Analyzing https://github.com/freddychenyouren2/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/freddychenyouren2/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/freddychenyouren2/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SinhaVedant/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SinhaVedant/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SinhaVedant/ip.git (master) completed! -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [145/480] Analyzing https://github.com/freddychenyouren2/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/freddychenyouren2/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/freddychenyouren2/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HugeNoob/ip.git completed! -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/qyaner/ip.git... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/qyaner/ip.git to complete... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lerxuann/ip.git completed! -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruiyangzh/ip.git... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/maj0-0/ip.git completed! -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruiyangzh/ip.git to complete... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bombbird2001/ip.git... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bombbird2001/ip.git to complete... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepos +INFO: [145/480] Analyzing https://github.com/jordankanghm/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jordankanghm/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jordankanghm/ip.git (master)... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bombbird2001/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Originalidk/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Originalidk/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hyc17003/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/quzhetao01/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/quzhetao01/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/freddychenyouren2/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Weiennn/ip.git completed! -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/hyc17003/ip.git... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/adammangzijun/ip.git completed! +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/InfiBeyond/ip.git... +Sep 03, 2023 3:41:44 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/InfiBeyond/ip.git to complete... +Sep 03, 2023 3:41:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/freddychenyouren2/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/freddychenyouren2/ip.git (master) completed! -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator analyzeRepos INFO: [146/480] Analyzing https://github.com/adhigop13/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hyc17003/ip.git to complete... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:44 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/adhigop13/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/adhigop13/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jordankanghm/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andytoh1/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bearypop/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bearypop/ip.git to complete... +Sep 03, 2023 3:41:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/adhigop13/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jordankanghm/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/adhigop13/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/adhigop13/ip.git (master) completed! -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator analyzeRepos INFO: [147/480] Analyzing https://github.com/waseemingly/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jordankanghm/ip.git (master) completed! -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [148/480] Analyzing https://github.com/jingyu987/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/waseemingly/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:45 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/waseemingly/ip.git (master)... -Sep 03, 2023 1:17:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Originalidk/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sp4ce-cowboy/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sp4ce-cowboy/ip.git to complete... +Sep 03, 2023 3:41:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jordankanghm/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/InfiBeyond/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jordankanghm/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JasonLCY-Temp/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JasonLCY-Temp/ip.git to complete... +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jordankanghm/ip.git (master) completed! +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator analyzeRepos +INFO: [148/480] Analyzing https://github.com/raydenlim/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/quzhetao01/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wjayee/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wjayee/ip.git to complete... +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/raydenlim/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:45 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/raydenlim/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bearypop/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/vivienherq/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/vivienherq/ip.git to complete... +Sep 03, 2023 3:41:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/waseemingly/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/waseemingly/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/waseemingly/ip.git (master) completed! +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator analyzeRepos +INFO: [149/480] Analyzing https://github.com/jingyu987/ip.git (master)... +Sep 03, 2023 3:41:45 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jingyu987/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:45 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jingyu987/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/qyaner/ip.git completed! -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/adammangzijun/ip.git... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/adammangzijun/ip.git to complete... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bombbird2001/ip.git completed! -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andytoh1/ip.git... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruiyangzh/ip.git completed! -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andytoh1/ip.git to complete... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Originalidk/ip.git... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hyc17003/ip.git completed! -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Originalidk/ip.git to complete... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/quzhetao01/ip.git... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/quzhetao01/ip.git to complete... -Sep 03, 2023 1:17:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/waseemingly/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sp4ce-cowboy/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jamesebond/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jamesebond/ip.git to complete... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JasonLCY-Temp/ip.git completed! +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jonyeokj/ip.git... +Sep 03, 2023 3:41:45 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jonyeokj/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wjayee/ip.git completed! +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/victorlaiyeeteng/ip.git... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/victorlaiyeeteng/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/raydenlim/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jingyu987/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/waseemingly/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jingyu987/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jingyu987/ip.git (master) completed! -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator analyzeRepos -INFO: [149/480] Analyzing https://github.com/raydenlim/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/waseemingly/ip.git (master) completed! -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepos INFO: [150/480] Analyzing https://github.com/FerdiHS/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/raydenlim/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/raydenlim/ip.git (master) completed! +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepos +INFO: [151/480] Analyzing https://github.com/jrchoo/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vivienherq/ip.git completed! +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/FerdiHS/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/FerdiHS/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/raydenlim/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/raydenlim/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/FerdiHS/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/FerdiHS/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/FerdiHS/ip.git (master) completed! -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator analyzeRepos -INFO: [151/480] Analyzing https://github.com/jrchoo/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lyuanww/ip.git... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lyuanww/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jrchoo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jrchoo/ip.git (master)... -Sep 03, 2023 1:17:32 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Originalidk/ip.git completed! -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/InfiBeyond/ip.git... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/adammangzijun/ip.git completed! -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andytoh1/ip.git completed! -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/InfiBeyond/ip.git to complete... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bearypop/ip.git... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sp4ce-cowboy/ip.git... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/quzhetao01/ip.git completed! -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bearypop/ip.git to complete... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sp4ce-cowboy/ip.git to complete... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JasonLCY-Temp/ip.git... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JasonLCY-Temp/ip.git to complete... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jrchoo/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jrchoo/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jrchoo/ip.git (master) completed! -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [152/480] Analyzing https://github.com/RiyaMehta2211/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/raydenlim/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/RiyaMehta2211/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/RiyaMehta2211/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/raydenlim/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/raydenlim/ip.git (master) completed! -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [153/480] Analyzing https://github.com/leezhanpeng/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepos +INFO: [152/480] Analyzing https://github.com/leezhanpeng/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leezhanpeng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leezhanpeng/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/FerdiHS/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/FerdiHS/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/FerdiHS/ip.git (master) completed! +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepos +INFO: [153/480] Analyzing https://github.com/RiyaMehta2211/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jonyeokj/ip.git completed! +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/RiyaMehta2211/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/RiyaMehta2211/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yongning0310/ip.git... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yongning0310/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jamesebond/ip.git completed! +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/victorlaiyeeteng/ip.git completed! +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cloud7050/ip.git... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lyuanww/ip.git completed! +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LoMaply/ip.git... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LoMaply/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tllshan/ip.git... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cloud7050/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tllshan/ip.git to complete... +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/RiyaMehta2211/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/leezhanpeng/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RiyaMehta2211/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RiyaMehta2211/ip.git (master) completed! -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepos INFO: [154/480] Analyzing https://github.com/juzzztinsoong/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/juzzztinsoong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/juzzztinsoong/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sp4ce-cowboy/ip.git completed! -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/leezhanpeng/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wjayee/ip.git... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wjayee/ip.git to complete... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/leezhanpeng/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/leezhanpeng/ip.git (master) completed! -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JasonLCY-Temp/ip.git completed! -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/juzzztinsoong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/juzzztinsoong/ip.git (master)... +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator analyzeRepos INFO: [155/480] Analyzing https://github.com/darrentfy/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/vivienherq/ip.git... -Sep 03, 2023 1:17:33 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/vivienherq/ip.git to complete... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:46 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/darrentfy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/darrentfy/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yongning0310/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Gavino3o/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Gavino3o/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cloud7050/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HollaG/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tllshan/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HollaG/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cheeggered/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cheeggered/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LoMaply/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xenosf/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xenosf/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/juzzztinsoong/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/juzzztinsoong/ip.git (master)... -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/juzzztinsoong/ip.git (master) completed! -Sep 03, 2023 1:17:33 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepos INFO: [156/480] Analyzing https://github.com/redtailedfox/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/darrentfy/ip.git (master)... +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/redtailedfox/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/redtailedfox/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/darrentfy/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bearypop/ip.git completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/InfiBeyond/ip.git completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jamesebond/ip.git... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jamesebond/ip.git to complete... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/darrentfy/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/darrentfy/ip.git (master) completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jonyeokj/ip.git... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepos INFO: [157/480] Analyzing https://github.com/Fallman2/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Fallman2/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Fallman2/ip.git (master)... +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/redtailedfox/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jonyeokj/ip.git to complete... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Fallman2/ip.git (master)... +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/redtailedfox/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/redtailedfox/ip.git (master) completed! -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Fallman2/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Fallman2/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepos INFO: [158/480] Analyzing https://github.com/Heran9/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Heran9/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Heran9/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wjayee/ip.git completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/victorlaiyeeteng/ip.git... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vivienherq/ip.git completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/victorlaiyeeteng/ip.git to complete... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lyuanww/ip.git... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lyuanww/ip.git to complete... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Fallman2/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Fallman2/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Fallman2/ip.git (master) completed! -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [159/480] Analyzing https://github.com/VN-Hao/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/VN-Hao/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/VN-Hao/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator analyzeRepos +INFO: [159/480] Analyzing https://github.com/jingjie88/ip.git (master)... +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Heran9/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Heran9/ip.git (master)... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Gavino3o/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TehOPanas/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jingjie88/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jingjie88/ip.git (master)... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TehOPanas/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HollaG/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/neyapraveen/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/neyapraveen/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cheeggered/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/richiehx/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xenosf/ip.git completed! +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/richiehx/ip.git to complete... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlyssaPng/ip.git... +Sep 03, 2023 3:41:47 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlyssaPng/ip.git to complete... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Heran9/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Heran9/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Heran9/ip.git (master) completed! -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [160/480] Analyzing https://github.com/jingjie88/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jingjie88/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jingjie88/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/VN-Hao/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/VN-Hao/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/VN-Hao/ip.git (master) completed! -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos +INFO: [160/480] Analyzing https://github.com/VN-Hao/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/VN-Hao/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/VN-Hao/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jingjie88/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jingjie88/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jingjie88/ip.git (master) completed! +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos INFO: [161/480] Analyzing https://github.com/H1410101/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jamesebond/ip.git completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jonyeokj/ip.git completed! -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yongning0310/ip.git... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cloud7050/ip.git... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yongning0310/ip.git to complete... -Sep 03, 2023 1:17:34 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/VN-Hao/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/H1410101/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/H1410101/ip.git (master)... -Sep 03, 2023 1:17:34 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cloud7050/ip.git to complete... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/H1410101/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/H1410101/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/H1410101/ip.git (master) completed! -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/VN-Hao/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/VN-Hao/ip.git (master) completed! +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos INFO: [162/480] Analyzing https://github.com/kimshitong/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/victorlaiyeeteng/ip.git completed! -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LoMaply/ip.git... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kimshitong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kimshitong/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lyuanww/ip.git completed! -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LoMaply/ip.git to complete... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tllshan/ip.git... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tllshan/ip.git to complete... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jingjie88/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jingjie88/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jingjie88/ip.git (master) completed! -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/H1410101/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/neyapraveen/ip.git completed! +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leezhengjing/ip.git... +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/leezhengjing/ip.git to complete... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/H1410101/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/H1410101/ip.git (master) completed! +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos INFO: [163/480] Analyzing https://github.com/ivanleekk/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TehOPanas/ip.git completed! +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seantehds/ip.git... +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seantehds/ip.git to complete... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ivanleekk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ivanleekk/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yongning0310/ip.git completed! -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Gavino3o/ip.git... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Gavino3o/ip.git to complete... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/richiehx/ip.git completed! +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlyssaPng/ip.git completed! +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ceilingFan456/ip.git... +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ceilingFan456/ip.git to complete... +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lihongguang00/ip.git... +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lihongguang00/ip.git to complete... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kimshitong/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cloud7050/ip.git completed! -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kimshitong/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kimshitong/ip.git (master) completed! -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HollaG/ip.git... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [164/480] Analyzing https://github.com/lamchenghou/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HollaG/ip.git to complete... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lamchenghou/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lamchenghou/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ivanleekk/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kimshitong/ip.git (master) completed! +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos +INFO: [164/480] Analyzing https://github.com/tayruxin/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ivanleekk/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ivanleekk/ip.git (master) completed! -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [165/480] Analyzing https://github.com/tayruxin/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tayruxin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tayruxin/ip.git (master)... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LoMaply/ip.git completed! -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tllshan/ip.git completed! -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cheeggered/ip.git... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cheeggered/ip.git to complete... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xenosf/ip.git... -Sep 03, 2023 1:17:35 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xenosf/ip.git to complete... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos +INFO: [165/480] Analyzing https://github.com/lamchenghou/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lamchenghou/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lamchenghou/ip.git (master)... +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tayruxin/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tayruxin/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tayruxin/ip.git (master) completed! -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:48 AM reposense.report.ReportGenerator analyzeRepos INFO: [166/480] Analyzing https://github.com/raynertjx/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Gavino3o/ip.git completed! -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:48 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leezhengjing/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/raynertjx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/raynertjx/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TehOPanas/ip.git... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TehOPanas/ip.git to complete... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HollaG/ip.git completed! -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/neyapraveen/ip.git... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/neyapraveen/ip.git to complete... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Singa-pirate/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Singa-pirate/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seantehds/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ceilingFan456/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/songfangyl/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/vansh284/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/vansh284/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/songfangyl/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lihongguang00/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/YeoBohShin/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/YeoBohShin/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lamchenghou/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lamchenghou/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lamchenghou/ip.git (master) completed! -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepos INFO: [167/480] Analyzing https://github.com/zhengyup/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zhengyup/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zhengyup/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cheeggered/ip.git completed! -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/richiehx/ip.git... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/richiehx/ip.git to complete... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xenosf/ip.git completed! -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlyssaPng/ip.git... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlyssaPng/ip.git to complete... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/raynertjx/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/raynertjx/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/raynertjx/ip.git (master) completed! -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepos INFO: [168/480] Analyzing https://github.com/Carlintyj/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Carlintyj/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Carlintyj/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Singa-pirate/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/songfangyl/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shuenj/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lunaroddity/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shuenj/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lunaroddity/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vansh284/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/YeoBohShin/ip.git completed! +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andrechuakj/ip.git... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andrechuakj/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WeeMingQing/ip.git... +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zhengyup/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:49 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WeeMingQing/ip.git to complete... +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zhengyup/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zhengyup/ip.git (master) completed! -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepos INFO: [169/480] Analyzing https://github.com/larrywang0701/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TehOPanas/ip.git completed! -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leezhengjing/ip.git... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/leezhengjing/ip.git to complete... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/neyapraveen/ip.git completed! -Sep 03, 2023 1:17:36 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/larrywang0701/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/larrywang0701/ip.git (master)... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seantehds/ip.git... -Sep 03, 2023 1:17:36 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seantehds/ip.git to complete... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Carlintyj/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/richiehx/ip.git completed! -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ceilingFan456/ip.git... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ceilingFan456/ip.git to complete... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlyssaPng/ip.git completed! -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Carlintyj/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Carlintyj/ip.git (master) completed! -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lihongguang00/ip.git... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator analyzeRepos INFO: [170/480] Analyzing https://github.com/wxwern/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lihongguang00/ip.git to complete... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:49 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wxwern/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wxwern/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/larrywang0701/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/larrywang0701/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/larrywang0701/ip.git (master) completed! -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepos INFO: [171/480] Analyzing https://github.com/nubnubyas/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wxwern/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wxwern/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lunaroddity/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/aliciamichellew/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nubnubyas/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nubnubyas/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seantehds/ip.git completed! -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Singa-pirate/ip.git... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leezhengjing/ip.git completed! -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Singa-pirate/ip.git to complete... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/songfangyl/ip.git... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/songfangyl/ip.git to complete... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nubnubyas/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nubnubyas/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nubnubyas/ip.git (master) completed! -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepos -INFO: [172/480] Analyzing https://github.com/aslam341/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aslam341/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aslam341/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andrechuakj/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shuenj/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aliciamichellew/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WeeMingQing/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/samuelmui8/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/antonTan96/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/samuelmui8/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/owenyeo/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/antonTan96/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/owenyeo/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wxwern/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wxwern/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wxwern/ip.git (master) completed! -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator analyzeRepos -INFO: [173/480] Analyzing https://github.com/LWZ19/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ceilingFan456/ip.git completed! -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/vansh284/ip.git... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lihongguang00/ip.git completed! -Sep 03, 2023 1:17:37 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LWZ19/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LWZ19/ip.git (master)... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/vansh284/ip.git to complete... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/YeoBohShin/ip.git... -Sep 03, 2023 1:17:37 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/YeoBohShin/ip.git to complete... -Sep 03, 2023 1:17:38 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aslam341/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aslam341/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aslam341/ip.git (master) completed! -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator analyzeRepos -INFO: [174/480] Analyzing https://github.com/timleow/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/timleow/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:38 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepos +INFO: [172/480] Analyzing https://github.com/aslam341/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aslam341/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aslam341/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nubnubyas/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nubnubyas/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nubnubyas/ip.git (master) completed! +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepos +INFO: [173/480] Analyzing https://github.com/timleow/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/timleow/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/timleow/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Singa-pirate/ip.git completed! -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shuenj/ip.git... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/songfangyl/ip.git completed! -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shuenj/ip.git to complete... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lunaroddity/ip.git... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lunaroddity/ip.git to complete... -Sep 03, 2023 1:17:38 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aslam341/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aslam341/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aslam341/ip.git (master) completed! +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator analyzeRepos +INFO: [174/480] Analyzing https://github.com/LWZ19/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/antonTan96/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/gongg21/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LWZ19/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LWZ19/ip.git (master)... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/gongg21/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/owenyeo/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nabonitasen/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nabonitasen/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aliciamichellew/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/samuelmui8/ip.git completed! +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/erohsikivar/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/erohsikivar/ip.git to complete... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/pzl111/ip.git... +Sep 03, 2023 3:41:50 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/pzl111/ip.git to complete... +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/timleow/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/YeoBohShin/ip.git completed! -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andrechuakj/ip.git... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vansh284/ip.git completed! -Sep 03, 2023 1:17:38 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/timleow/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/timleow/ip.git (master) completed! -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WeeMingQing/ip.git... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator analyzeRepos -INFO: [175/480] Analyzing https://github.com/aexolate/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andrechuakj/ip.git to complete... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WeeMingQing/ip.git to complete... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aexolate/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:38 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aexolate/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepos +INFO: [175/480] Analyzing https://github.com/rayshawntan/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/rayshawntan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/rayshawntan/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LWZ19/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LWZ19/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LWZ19/ip.git (master) completed! -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator analyzeRepos -INFO: [176/480] Analyzing https://github.com/rayshawntan/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/rayshawntan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:38 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/rayshawntan/ip.git (master)... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lunaroddity/ip.git completed! -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/aliciamichellew/ip.git... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shuenj/ip.git completed! -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/samuelmui8/ip.git... -Sep 03, 2023 1:17:38 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aliciamichellew/ip.git to complete... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/samuelmui8/ip.git to complete... -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aexolate/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aexolate/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aexolate/ip.git (master) completed! -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator analyzeRepos -INFO: [177/480] Analyzing https://github.com/Sheeepen/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Sheeepen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Sheeepen/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andrechuakj/ip.git completed! -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/antonTan96/ip.git... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/antonTan96/ip.git to complete... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WeeMingQing/ip.git completed! -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/owenyeo/ip.git... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/owenyeo/ip.git to complete... -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepos +INFO: [176/480] Analyzing https://github.com/aexolate/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/gongg21/ip.git completed! +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/teozern1/ip.git... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nabonitasen/ip.git completed! +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/pzl111/ip.git completed! +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/teozern1/ip.git to complete... +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aexolate/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aexolate/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/erohsikivar/ip.git completed! +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Elijah5399/ip.git... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicleongyj/ip.git... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Elijah5399/ip.git to complete... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WinSheng1/ip.git... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicleongyj/ip.git to complete... +Sep 03, 2023 3:41:51 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WinSheng1/ip.git to complete... +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rayshawntan/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rayshawntan/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rayshawntan/ip.git (master) completed! -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Sheeepen/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepos +INFO: [177/480] Analyzing https://github.com/Sheeepen/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Sheeepen/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Sheeepen/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aexolate/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aexolate/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aexolate/ip.git (master) completed! +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepos INFO: [178/480] Analyzing https://github.com/shuyangk/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Sheeepen/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shuyangk/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shuyangk/ip.git (master)... +Sep 03, 2023 3:41:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Sheeepen/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Sheeepen/ip.git (master) completed! -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator analyzeRepos INFO: [179/480] Analyzing https://github.com/ncmathan/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shuyangk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shuyangk/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:51 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ncmathan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:39 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ncmathan/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aliciamichellew/ip.git completed! -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/samuelmui8/ip.git completed! -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/gongg21/ip.git... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/gongg21/ip.git to complete... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nabonitasen/ip.git... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nabonitasen/ip.git to complete... -Sep 03, 2023 1:17:39 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ncmathan/ip.git (master)... -Sep 03, 2023 1:17:39 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/antonTan96/ip.git completed! -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/erohsikivar/ip.git... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicleongyj/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/teozern1/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryamgoh/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yucongkoo/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryamgoh/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yucongkoo/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Elijah5399/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WinSheng1/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/shuyangk/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/erohsikivar/ip.git to complete... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ncmathan/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ncmathan/ip.git (master) completed! -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepos -INFO: [180/480] Analyzing https://github.com/iyioon/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/owenyeo/ip.git completed! -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/pzl111/ip.git... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/pzl111/ip.git to complete... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chen-Kuei/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/conradsoon/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/conradsoon/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/shuyangk/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chen-Kuei/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shuyangk/ip.git (master) completed! -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepos +INFO: [180/480] Analyzing https://github.com/iyioon/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/iyioon/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/iyioon/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ncmathan/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ncmathan/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ncmathan/ip.git (master) completed! +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepos INFO: [181/480] Analyzing https://github.com/kiwibang/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kiwibang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kiwibang/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/iyioon/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/iyioon/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/gongg21/ip.git completed! -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nabonitasen/ip.git completed! -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/teozern1/ip.git... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/teozern1/ip.git to complete... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Elijah5399/ip.git... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Elijah5399/ip.git to complete... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kiwibang/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/iyioon/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kiwibang/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/iyioon/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kiwibang/ip.git (master) completed! -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/iyioon/ip.git (master) completed! -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepos INFO: [182/480] Analyzing https://github.com/mingyu-wan/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mingyu-wan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mingyu-wan/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kiwibang/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kiwibang/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kiwibang/ip.git (master) completed! +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepos INFO: [183/480] Analyzing https://github.com/LuoZYi/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryamgoh/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yucongkoo/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/GSgiansen/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/et-irl/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/conradsoon/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/GSgiansen/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LuoZYi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LuoZYi/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mingyu-wan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mingyu-wan/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/erohsikivar/ip.git completed! -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicleongyj/ip.git... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/pzl111/ip.git completed! -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chen-Kuei/ip.git completed! +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marioalvaro/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/et-irl/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marioalvaro/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Seonlo99/ip.git... +Sep 03, 2023 3:41:52 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Seonlo99/ip.git to complete... +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LuoZYi/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicleongyj/ip.git to complete... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WinSheng1/ip.git... -Sep 03, 2023 1:17:40 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WinSheng1/ip.git to complete... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LuoZYi/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LuoZYi/ip.git (master) completed! -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepos -INFO: [184/480] Analyzing https://github.com/sushiyade/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sushiyade/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sushiyade/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator analyzeRepos +INFO: [184/480] Analyzing https://github.com/asdfghjkxd/ip.git (master)... +Sep 03, 2023 3:41:52 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/asdfghjkxd/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/asdfghjkxd/ip.git (master)... +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mingyu-wan/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mingyu-wan/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mingyu-wan/ip.git (master) completed! -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator analyzeRepos -INFO: [185/480] Analyzing https://github.com/asdfghjkxd/ip.git (master)... -Sep 03, 2023 1:17:40 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/asdfghjkxd/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:40 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/asdfghjkxd/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/teozern1/ip.git completed! -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Elijah5399/ip.git completed! -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryamgoh/ip.git... -Sep 03, 2023 1:17:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepos +INFO: [185/480] Analyzing https://github.com/sushiyade/ip.git (master)... +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sushiyade/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sushiyade/ip.git (master)... +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sushiyade/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryamgoh/ip.git to complete... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yucongkoo/ip.git... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yucongkoo/ip.git to complete... -Sep 03, 2023 1:17:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sushiyade/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sushiyade/ip.git (master) completed! -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepos INFO: [186/480] Analyzing https://github.com/Nid21cs/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Nid21cs/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Nid21cs/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicleongyj/ip.git completed! -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WinSheng1/ip.git completed! -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chen-Kuei/ip.git... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chen-Kuei/ip.git to complete... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/conradsoon/ip.git... -Sep 03, 2023 1:17:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/GSgiansen/ip.git completed! +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/et-irl/ip.git completed! +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/joel-foo/ip.git... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tim-pipi/ip.git... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marioalvaro/ip.git completed! +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/joel-foo/ip.git to complete... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tim-pipi/ip.git to complete... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marcellaantania/ip.git... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Seonlo99/ip.git completed! +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brendanneojw/ip.git... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marcellaantania/ip.git to complete... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brendanneojw/ip.git to complete... +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Nid21cs/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/conradsoon/ip.git to complete... -Sep 03, 2023 1:17:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Nid21cs/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Nid21cs/ip.git (master) completed! -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepos INFO: [187/480] Analyzing https://github.com/McNaBry/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/McNaBry/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/McNaBry/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/asdfghjkxd/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryamgoh/ip.git completed! -Sep 03, 2023 1:17:41 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/asdfghjkxd/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/GSgiansen/ip.git... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/asdfghjkxd/ip.git (master) completed! -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yucongkoo/ip.git completed! -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/GSgiansen/ip.git to complete... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepos INFO: [188/480] Analyzing https://github.com/miljyy/ip.git (master)... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/et-irl/ip.git... -Sep 03, 2023 1:17:41 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/et-irl/ip.git to complete... -Sep 03, 2023 1:17:41 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/miljyy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:41 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/miljyy/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/McNaBry/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/McNaBry/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/McNaBry/ip.git (master) completed! -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepos -INFO: [189/480] Analyzing https://github.com/eyelessrhyme7/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/miljyy/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chen-Kuei/ip.git completed! -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marioalvaro/ip.git... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/eyelessrhyme7/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/eyelessrhyme7/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/conradsoon/ip.git completed! -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marioalvaro/ip.git to complete... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/miljyy/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/miljyy/ip.git (master) completed! -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepos -INFO: [190/480] Analyzing https://github.com/ncduy0303/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Seonlo99/ip.git... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Seonlo99/ip.git to complete... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator analyzeRepos +INFO: [189/480] Analyzing https://github.com/ncduy0303/ip.git (master)... +Sep 03, 2023 3:41:53 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ncduy0303/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:41:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ncduy0303/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/eyelessrhyme7/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/eyelessrhyme7/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/eyelessrhyme7/ip.git (master) completed! -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepos -INFO: [191/480] Analyzing https://github.com/ruishanteo/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruishanteo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruishanteo/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/GSgiansen/ip.git completed! -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/joel-foo/ip.git... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ncduy0303/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/et-irl/ip.git completed! -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/joel-foo/ip.git to complete... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tim-pipi/ip.git... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tim-pipi/ip.git to complete... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ncduy0303/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ncduy0303/ip.git (master) completed! -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepos -INFO: [192/480] Analyzing https://github.com/Nixx162/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Nixx162/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:42 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Nixx162/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marioalvaro/ip.git completed! -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Seonlo99/ip.git completed! -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marcellaantania/ip.git... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brendanneojw/ip.git... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marcellaantania/ip.git to complete... -Sep 03, 2023 1:17:42 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brendanneojw/ip.git to complete... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruishanteo/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Nixx162/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Nixx162/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruishanteo/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Nixx162/ip.git (master) completed! -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepos -INFO: [193/480] Analyzing https://github.com/m1oojv/ip.git (master)... -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruishanteo/ip.git (master) completed! -Sep 03, 2023 1:17:42 AM reposense.report.ReportGenerator analyzeRepos -INFO: [194/480] Analyzing https://github.com/Gabriel4357/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/m1oojv/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/m1oojv/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Gabriel4357/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Gabriel4357/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/joel-foo/ip.git completed! -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/McNaBry/ip.git (master)... +Sep 03, 2023 3:41:53 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marcellaantania/ip.git completed! +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/McNaBry/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/McNaBry/ip.git (master) completed! +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/li-rongzhi/ip.git... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/joel-foo/ip.git completed! +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepos +INFO: [190/480] Analyzing https://github.com/eyelessrhyme7/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KamiliArsyad/ip.git... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/li-rongzhi/ip.git to complete... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tim-pipi/ip.git completed! -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KamiliArsyad/ip.git... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/KamiliArsyad/ip.git to complete... -Sep 03, 2023 1:17:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Gabriel4357/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Gabriel4357/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Gabriel4357/ip.git (master) completed! -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator analyzeRepos -INFO: [195/480] Analyzing https://github.com/mfjkri/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mfjkri/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mfjkri/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marcellaantania/ip.git completed! -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/brendanneojw/ip.git completed! -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/seraphimstreets/ip.git... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/trgao/ip.git... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/seraphimstreets/ip.git to complete... -Sep 03, 2023 1:17:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/m1oojv/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/trgao/ip.git to complete... -Sep 03, 2023 1:17:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/m1oojv/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/m1oojv/ip.git (master) completed! -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator analyzeRepos -INFO: [196/480] Analyzing https://github.com/Badatprogrammiing/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Badatprogrammiing/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:43 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Badatprogrammiing/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/eyelessrhyme7/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/eyelessrhyme7/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/trgao/ip.git to complete... +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ncduy0303/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/eyelessrhyme7/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ncduy0303/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ncduy0303/ip.git (master) completed! +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/eyelessrhyme7/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/eyelessrhyme7/ip.git (master) completed! +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepos +INFO: [191/480] Analyzing https://github.com/ruishanteo/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepos +INFO: [192/480] Analyzing https://github.com/m1oojv/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/m1oojv/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/m1oojv/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruishanteo/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruishanteo/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KamiliArsyad/ip.git completed! +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/li-rongzhi/ip.git completed! -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lilozz2/ip.git... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lilozz2/ip.git to complete... -Sep 03, 2023 1:17:43 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/mfjkri/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KamiliArsyad/ip.git completed! -Sep 03, 2023 1:17:43 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/mfjkri/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/mfjkri/ip.git (master) completed! -Sep 03, 2023 1:17:43 AM reposense.report.ReportGenerator analyzeRepos -INFO: [197/480] Analyzing https://github.com/junhonglow/ip.git (master)... -Sep 03, 2023 1:17:43 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jean-cq/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/junhonglow/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/junhonglow/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jean-cq/ip.git to complete... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Badatprogrammiing/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Badatprogrammiing/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Badatprogrammiing/ip.git (master) completed! -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepos -INFO: [198/480] Analyzing https://github.com/RoeReRe/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/RoeReRe/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/RoeReRe/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lilozz2/ip.git to complete... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/trgao/ip.git completed! -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jedkohjk/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jean-cq/ip.git to complete... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/seraphimstreets/ip.git completed! -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yytan25/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jedkohjk/ip.git... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jedkohjk/ip.git to complete... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yytan25/ip.git... +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruishanteo/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yytan25/ip.git to complete... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/junhonglow/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/junhonglow/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RoeReRe/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/junhonglow/ip.git (master) completed! -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepos -INFO: [199/480] Analyzing https://github.com/nknguyenhc/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/RoeReRe/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/RoeReRe/ip.git (master) completed! -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepos -INFO: [200/480] Analyzing https://github.com/winson8222/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nknguyenhc/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nknguyenhc/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/winson8222/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/winson8222/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/m1oojv/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruishanteo/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruishanteo/ip.git (master) completed! +Sep 03, 2023 3:41:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/m1oojv/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/m1oojv/ip.git (master) completed! +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepos +INFO: [193/480] Analyzing https://github.com/Nixx162/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator analyzeRepos +INFO: [194/480] Analyzing https://github.com/Gabriel4357/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Nixx162/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Nixx162/ip.git (master)... +Sep 03, 2023 3:41:54 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Gabriel4357/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Gabriel4357/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Nixx162/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Nixx162/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Nixx162/ip.git (master) completed! +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepos +INFO: [195/480] Analyzing https://github.com/mfjkri/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lilozz2/ip.git completed! -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Gabriel4357/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mfjkri/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mfjkri/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ryantzr1/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Gabriel4357/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ryantzr1/ip.git to complete... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jean-cq/ip.git completed! -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Gabriel4357/ip.git (master) completed! +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepos +INFO: [196/480] Analyzing https://github.com/junhonglow/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/maypfv/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/maypfv/ip.git to complete... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/winson8222/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/winson8222/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/winson8222/ip.git (master) completed! -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator analyzeRepos -INFO: [201/480] Analyzing https://github.com/SimWPEric/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SimWPEric/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:44 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SimWPEric/ip.git (master)... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/junhonglow/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/junhonglow/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jedkohjk/ip.git completed! -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yytan25/ip.git completed! -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TohLiYuan/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TohLiYuan/ip.git to complete... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yytan25/ip.git completed! +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/JizhuoChen/ip.git... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/JizhuoChen/ip.git to complete... -Sep 03, 2023 1:17:44 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TohLiYuan/ip.git to complete... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nknguyenhc/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nknguyenhc/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nknguyenhc/ip.git (master) completed! -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepos -INFO: [202/480] Analyzing https://github.com/wujy28/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wujy28/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:45 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wujy28/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/junhonglow/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/junhonglow/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/junhonglow/ip.git (master) completed! +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepos +INFO: [197/480] Analyzing https://github.com/RoeReRe/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/RoeReRe/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/RoeReRe/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/mfjkri/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/mfjkri/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/mfjkri/ip.git (master) completed! +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepos +INFO: [198/480] Analyzing https://github.com/Badatprogrammiing/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Badatprogrammiing/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Badatprogrammiing/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ryantzr1/ip.git completed! -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ChongWeiJie29/ip.git... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/maypfv/ip.git completed! -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ChongWeiJie29/ip.git to complete... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TohLiYuan/ip.git completed! +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Goh-Li-Ting/ip.git... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kristayeo/ip.git... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Goh-Li-Ting/ip.git to complete... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SimWPEric/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wujy28/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SimWPEric/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wujy28/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SimWPEric/ip.git (master) completed! -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wujy28/ip.git (master) completed! -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepos -INFO: [203/480] Analyzing https://github.com/HugeNoob/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepos -INFO: [204/480] Analyzing https://github.com/lerxuann/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lerxuann/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:45 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lerxuann/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/HugeNoob/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:45 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/HugeNoob/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kristayeo/ip.git to complete... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RoeReRe/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/RoeReRe/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/RoeReRe/ip.git (master) completed! +Sep 03, 2023 3:41:55 AM reposense.report.ReportGenerator analyzeRepos +INFO: [199/480] Analyzing https://github.com/winson8222/ip.git (master)... +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/JizhuoChen/ip.git completed! -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TohLiYuan/ip.git completed! -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kristayeo/ip.git... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:55 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/derekjxtan/ip.git... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/winson8222/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/winson8222/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/derekjxtan/ip.git to complete... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kristayeo/ip.git to complete... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lerxuann/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Badatprogrammiing/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Badatprogrammiing/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Badatprogrammiing/ip.git (master) completed! +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepos +INFO: [200/480] Analyzing https://github.com/nknguyenhc/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nknguyenhc/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nknguyenhc/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/winson8222/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/winson8222/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/winson8222/ip.git (master) completed! +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepos +INFO: [201/480] Analyzing https://github.com/wujy28/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wujy28/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wujy28/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ChongWeiJie29/ip.git completed! -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lerxuann/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/shashahchk/ip.git... -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lerxuann/ip.git (master) completed! -Sep 03, 2023 1:17:45 AM reposense.report.ReportGenerator analyzeRepos -INFO: [205/480] Analyzing https://github.com/maj0-0/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/HugeNoob/ip.git (master)... -Sep 03, 2023 1:17:45 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shashahchk/ip.git to complete... -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/HugeNoob/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/maj0-0/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/maj0-0/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/HugeNoob/ip.git (master) completed! -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepos -INFO: [206/480] Analyzing https://github.com/Weiennn/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Weiennn/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Weiennn/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Goh-Li-Ting/ip.git completed! -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Chandan8186/ip.git... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shashahchk/ip.git to complete... +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Chandan8186/ip.git to complete... -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/maj0-0/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/maj0-0/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/maj0-0/ip.git (master) completed! -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepos -INFO: [207/480] Analyzing https://github.com/qyaner/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/qyaner/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/qyaner/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/kristayeo/ip.git completed! -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/alyssaongyx/ip.git... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/alyssaongyx/ip.git to complete... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/derekjxtan/ip.git completed! -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AndrewJanong/ip.git... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AndrewJanong/ip.git to complete... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shashahchk/ip.git completed! -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wujy28/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nknguyenhc/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wujy28/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wujy28/ip.git (master) completed! +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepos +INFO: [202/480] Analyzing https://github.com/SimWPEric/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nknguyenhc/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SimWPEric/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SimWPEric/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nknguyenhc/ip.git (master) completed! +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator analyzeRepos +INFO: [203/480] Analyzing https://github.com/lerxuann/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lerxuann/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lerxuann/ip.git (master)... +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chandan8186/ip.git completed! +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Kailash201/ip.git... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shashahchk/ip.git completed! +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Kailash201/ip.git to complete... -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/qyaner/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/qyaner/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/qyaner/ip.git (master) completed! -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepos -INFO: [208/480] Analyzing https://github.com/Bombbird2001/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bombbird2001/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:46 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bombbird2001/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chandan8186/ip.git completed! -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Weiennn/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/laurenlim2112/ip.git... -Sep 03, 2023 1:17:46 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:56 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/laurenlim2112/ip.git to complete... -Sep 03, 2023 1:17:46 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Weiennn/ip.git (master)... -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Weiennn/ip.git (master) completed! -Sep 03, 2023 1:17:46 AM reposense.report.ReportGenerator analyzeRepos -INFO: [209/480] Analyzing https://github.com/ruiyangzh/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alyssaongyx/ip.git completed! -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AndrewJanong/ip.git completed! +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lambraydon/ip.git... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruiyangzh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruiyangzh/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lambraydon/ip.git to complete... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AndrewJanong/ip.git completed! -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alyssaongyx/ip.git completed! +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/sk2001git/ip.git... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/sk2001git/ip.git to complete... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SimWPEric/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lerxuann/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SimWPEric/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SimWPEric/ip.git (master) completed! +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepos +INFO: [204/480] Analyzing https://github.com/HugeNoob/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lerxuann/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lerxuann/ip.git (master) completed! +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepos +INFO: [205/480] Analyzing https://github.com/Weiennn/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/HugeNoob/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/HugeNoob/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Weiennn/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Weiennn/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Kailash201/ip.git completed! -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chonguschonguschongus/ip.git... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chonguschonguschongus/ip.git to complete... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Bombbird2001/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruiyangzh/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Bombbird2001/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruiyangzh/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruiyangzh/ip.git (master) completed! -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Bombbird2001/ip.git (master) completed! -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepos -INFO: [210/480] Analyzing https://github.com/hyc17003/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepos -INFO: [211/480] Analyzing https://github.com/Originalidk/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/hyc17003/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/hyc17003/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Originalidk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Originalidk/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/laurenlim2112/ip.git completed! -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lshaoqin/ip.git... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lshaoqin/ip.git to complete... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/HugeNoob/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/HugeNoob/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/HugeNoob/ip.git (master) completed! +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepos +INFO: [206/480] Analyzing https://github.com/maj0-0/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sk2001git/ip.git completed! +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lambraydon/ip.git completed! -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/peasantbird/ip.git... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/peasantbird/ip.git to complete... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/hyc17003/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/hyc17003/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/hyc17003/ip.git (master) completed! -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepos -INFO: [212/480] Analyzing https://github.com/andytoh1/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sk2001git/ip.git completed! -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/maj0-0/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/maj0-0/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WangCheng0116/ip.git... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/andytoh1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:47 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/andytoh1/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Weiennn/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/WangCheng0116/ip.git to complete... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Originalidk/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/andytoh1/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Originalidk/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Originalidk/ip.git (master) completed! -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepos -INFO: [213/480] Analyzing https://github.com/adammangzijun/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/andytoh1/ip.git (master)... -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/andytoh1/ip.git (master) completed! -Sep 03, 2023 1:17:47 AM reposense.report.ReportGenerator analyzeRepos -INFO: [214/480] Analyzing https://github.com/quzhetao01/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/adammangzijun/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/adammangzijun/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/quzhetao01/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/quzhetao01/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/peasantbird/ip.git to complete... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Weiennn/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Weiennn/ip.git (master) completed! +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepos +INFO: [207/480] Analyzing https://github.com/qyaner/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/qyaner/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/qyaner/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/maj0-0/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/maj0-0/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/maj0-0/ip.git (master) completed! +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator analyzeRepos +INFO: [208/480] Analyzing https://github.com/ruiyangzh/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/chonguschonguschongus/ip.git completed! -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/teozhengyang/ip.git... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruiyangzh/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruiyangzh/ip.git (master)... +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/teozhengyang/ip.git to complete... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/adammangzijun/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/adammangzijun/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/adammangzijun/ip.git (master) completed! -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepos -INFO: [215/480] Analyzing https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sp4ce-cowboy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lshaoqin/ip.git completed! -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:57 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chewjh1234/ip.git... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chewjh1234/ip.git to complete... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sp4ce-cowboy/ip.git (master) completed! -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepos -INFO: [216/480] Analyzing https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JasonLCY-Temp/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/quzhetao01/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/quzhetao01/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/quzhetao01/ip.git (master) completed! -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepos -INFO: [217/480] Analyzing https://github.com/Bearypop/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bearypop/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bearypop/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WangCheng0116/ip.git completed! -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/qyaner/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/qyaner/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/qyaner/ip.git (master) completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [209/480] Analyzing https://github.com/Bombbird2001/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bombbird2001/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bombbird2001/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruiyangzh/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruiyangzh/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/peasantbird/ip.git completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruiyangzh/ip.git (master) completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [210/480] Analyzing https://github.com/hyc17003/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/elaineshijie/ip.git... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/elaineshijie/ip.git to complete... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/peasantbird/ip.git completed! -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lynnlow175/ip.git... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WangCheng0116/ip.git completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/hyc17003/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/hyc17003/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lynnlow175/ip.git... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lynnlow175/ip.git to complete... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Bombbird2001/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/teozhengyang/ip.git completed! -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/lordidiot/ip.git... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/lordidiot/ip.git to complete... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JasonLCY-Temp/ip.git (master) completed! -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator analyzeRepos -INFO: [218/480] Analyzing https://github.com/InfiBeyond/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/InfiBeyond/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:48 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/InfiBeyond/ip.git (master)... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Bombbird2001/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Bombbird2001/ip.git (master) completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [211/480] Analyzing https://github.com/adammangzijun/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/hyc17003/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/adammangzijun/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/adammangzijun/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/hyc17003/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/hyc17003/ip.git (master) completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [212/480] Analyzing https://github.com/andytoh1/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/chewjh1234/ip.git completed! -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chew01/ip.git... -Sep 03, 2023 1:17:48 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chew01/ip.git to complete... -Sep 03, 2023 1:17:48 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Bearypop/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Bearypop/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Bearypop/ip.git (master) completed! -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepos -INFO: [219/480] Analyzing https://github.com/wjayee/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/andytoh1/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/andytoh1/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/adammangzijun/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/adammangzijun/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/adammangzijun/ip.git (master) completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [213/480] Analyzing https://github.com/Originalidk/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/andytoh1/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/andytoh1/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/andytoh1/ip.git (master) completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Originalidk/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Originalidk/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [214/480] Analyzing https://github.com/InfiBeyond/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/InfiBeyond/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/InfiBeyond/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/InfiBeyond/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wjayee/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wjayee/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:41:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/InfiBeyond/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/InfiBeyond/ip.git (master) completed! -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepos -INFO: [220/480] Analyzing https://github.com/vivienherq/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/vivienherq/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/vivienherq/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/elaineshijie/ip.git completed! -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator analyzeRepos +INFO: [215/480] Analyzing https://github.com/quzhetao01/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lynnlow175/ip.git completed! +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/RSXIX/ip.git... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/elaineshijie/ip.git completed! +Sep 03, 2023 3:41:58 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/quzhetao01/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/quzhetao01/ip.git (master)... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RSXIX/ip.git to complete... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/vivienherq/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lynnlow175/ip.git completed! -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/juliusgambe/ip.git... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/juliusgambe/ip.git to complete... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/vivienherq/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/vivienherq/ip.git (master) completed! -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepos -INFO: [221/480] Analyzing https://github.com/jamesebond/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/lordidiot/ip.git completed! -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jamesebond/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jamesebond/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/juliusgambe/ip.git to complete... +Sep 03, 2023 3:41:58 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zhonghan721/ip.git... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zhonghan721/ip.git to complete... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Originalidk/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Originalidk/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Originalidk/ip.git (master) completed! +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepos +INFO: [216/480] Analyzing https://github.com/Bearypop/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bearypop/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bearypop/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/chew01/ip.git completed! -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/WZWren/ip.git... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/WZWren/ip.git to complete... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Bearypop/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/quzhetao01/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Bearypop/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Bearypop/ip.git (master) completed! +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/quzhetao01/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/quzhetao01/ip.git (master) completed! +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepos +INFO: [217/480] Analyzing https://github.com/sp4ce-cowboy/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepos +INFO: [218/480] Analyzing https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sp4ce-cowboy/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sp4ce-cowboy/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JasonLCY-Temp/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/juliusgambe/ip.git completed! +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/inezkok/ip.git... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RSXIX/ip.git completed! +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wasjoe1/ip.git... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/inezkok/ip.git to complete... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wasjoe1/ip.git to complete... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WZWren/ip.git completed! +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kokrui/ip.git... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhonghan721/ip.git completed! +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kokrui/ip.git to complete... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jinyang628/ip.git... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sp4ce-cowboy/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jinyang628/ip.git to complete... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sp4ce-cowboy/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sp4ce-cowboy/ip.git (master) completed! +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepos +INFO: [219/480] Analyzing https://github.com/wjayee/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wjayee/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:41:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wjayee/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JasonLCY-Temp/ip.git (master) completed! +Sep 03, 2023 3:41:59 AM reposense.report.ReportGenerator analyzeRepos +INFO: [220/480] Analyzing https://github.com/vivienherq/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/vivienherq/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/vivienherq/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/inezkok/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nananakx-x/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wasjoe1/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nananakx-x/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ylyma/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ylyma/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/vivienherq/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/vivienherq/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/vivienherq/ip.git (master) completed! +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepos +INFO: [221/480] Analyzing https://github.com/jonyeokj/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jonyeokj/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jonyeokj/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wjayee/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wjayee/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wjayee/ip.git (master) completed! -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepos -INFO: [222/480] Analyzing https://github.com/jonyeokj/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jonyeokj/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jonyeokj/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jamesebond/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jamesebond/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jamesebond/ip.git (master) completed! -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator analyzeRepos -INFO: [223/480] Analyzing https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepos +INFO: [222/480] Analyzing https://github.com/victorlaiyeeteng/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/victorlaiyeeteng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:49 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RSXIX/ip.git completed! -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/inezkok/ip.git... -Sep 03, 2023 1:17:49 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/inezkok/ip.git to complete... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/juliusgambe/ip.git completed! -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wasjoe1/ip.git... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kokrui/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jinyang628/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AnnabelTing/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/timetraveller-123/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AnnabelTing/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/timetraveller-123/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jonyeokj/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wasjoe1/ip.git to complete... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jonyeokj/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jonyeokj/ip.git (master) completed! -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepos -INFO: [224/480] Analyzing https://github.com/lyuanww/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhonghan721/ip.git completed! -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepos +INFO: [223/480] Analyzing https://github.com/jamesebond/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/victorlaiyeeteng/ip.git (master) completed! -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepos -INFO: [225/480] Analyzing https://github.com/yongning0310/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepos +INFO: [224/480] Analyzing https://github.com/lyuanww/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jamesebond/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jamesebond/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lyuanww/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lyuanww/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kokrui/ip.git... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ylyma/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LicongHuang/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nananakx-x/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LicongHuang/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jweng88/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Jweng88/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jamesebond/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jamesebond/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jamesebond/ip.git (master) completed! +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepos +INFO: [225/480] Analyzing https://github.com/yongning0310/ip.git (master)... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yongning0310/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yongning0310/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kokrui/ip.git to complete... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WZWren/ip.git completed! -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jinyang628/ip.git... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jinyang628/ip.git to complete... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AnnabelTing/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/timetraveller-123/ip.git completed! +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lyuanww/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/EricXiong420/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jovkusuma/ip.git... +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/EricXiong420/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lyuanww/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:00 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jovkusuma/ip.git to complete... +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lyuanww/ip.git (master) completed! -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator analyzeRepos INFO: [226/480] Analyzing https://github.com/Cloud7050/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:00 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Cloud7050/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Cloud7050/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/inezkok/ip.git completed! -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nananakx-x/ip.git... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nananakx-x/ip.git to complete... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yongning0310/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yongning0310/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yongning0310/ip.git (master) completed! -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepos -INFO: [227/480] Analyzing https://github.com/LoMaply/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wasjoe1/ip.git completed! -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LoMaply/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:50 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LoMaply/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ylyma/ip.git... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ylyma/ip.git to complete... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Cloud7050/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kokrui/ip.git completed! -Sep 03, 2023 1:17:50 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AnnabelTing/ip.git... -Sep 03, 2023 1:17:50 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Cloud7050/ip.git (master)... -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Cloud7050/ip.git (master) completed! -Sep 03, 2023 1:17:50 AM reposense.report.ReportGenerator analyzeRepos -INFO: [228/480] Analyzing https://github.com/tllshan/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jinyang628/ip.git completed! -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AnnabelTing/ip.git to complete... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/timetraveller-123/ip.git... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/timetraveller-123/ip.git to complete... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepos +INFO: [227/480] Analyzing https://github.com/tllshan/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tllshan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tllshan/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LoMaply/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LoMaply/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LoMaply/ip.git (master) completed! -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepos -INFO: [229/480] Analyzing https://github.com/Gavino3o/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Gavino3o/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Gavino3o/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yongning0310/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yongning0310/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yongning0310/ip.git (master) completed! +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LicongHuang/ip.git completed! +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepos +INFO: [228/480] Analyzing https://github.com/LoMaply/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bhnuka/ip.git... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bhnuka/ip.git to complete... +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LoMaply/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LoMaply/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tllshan/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jovkusuma/ip.git completed! +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Jweng88/ip.git completed! +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tllshan/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tllshan/ip.git (master) completed! -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepos +INFO: [229/480] Analyzing https://github.com/Gavino3o/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/J-hta-n/ip.git... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Tim-Siu/ip.git... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/EricXiong420/ip.git completed! +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/J-hta-n/ip.git to complete... +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Gavino3o/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Gavino3o/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yarnmengnus/ip.git... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Tim-Siu/ip.git to complete... +Sep 03, 2023 3:42:01 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yarnmengnus/ip.git to complete... +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LoMaply/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LoMaply/ip.git (master)... +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LoMaply/ip.git (master) completed! +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepos INFO: [230/480] Analyzing https://github.com/HollaG/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/HollaG/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/HollaG/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nananakx-x/ip.git completed! -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LicongHuang/ip.git... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LicongHuang/ip.git to complete... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ylyma/ip.git completed! -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jweng88/ip.git... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Jweng88/ip.git to complete... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AnnabelTing/ip.git completed! -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/EricXiong420/ip.git... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/timetraveller-123/ip.git completed! -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/EricXiong420/ip.git to complete... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jovkusuma/ip.git... -Sep 03, 2023 1:17:51 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jovkusuma/ip.git to complete... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Gavino3o/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Gavino3o/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/HollaG/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Gavino3o/ip.git (master) completed! -Sep 03, 2023 1:17:51 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/HollaG/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:01 AM reposense.report.ReportGenerator analyzeRepos INFO: [231/480] Analyzing https://github.com/cheeggered/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/HollaG/ip.git (master) completed! -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator analyzeRepos -INFO: [232/480] Analyzing https://github.com/xenosf/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cheeggered/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cheeggered/ip.git (master)... -Sep 03, 2023 1:17:51 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bhnuka/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/J-hta-n/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/HollaG/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sopa301/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ngeeyonglim/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sopa301/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ngeeyonglim/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/HollaG/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/HollaG/ip.git (master) completed! +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepos +INFO: [232/480] Analyzing https://github.com/xenosf/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xenosf/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:51 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xenosf/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yarnmengnus/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Tim-Siu/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/flexibo/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ItsTYtan/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ItsTYtan/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/flexibo/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xenosf/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LicongHuang/ip.git completed! -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bhnuka/ip.git... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bhnuka/ip.git to complete... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cheeggered/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xenosf/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xenosf/ip.git (master) completed! -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepos -INFO: [233/480] Analyzing https://github.com/TehOPanas/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cheeggered/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TehOPanas/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TehOPanas/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepos +INFO: [233/480] Analyzing https://github.com/neyapraveen/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cheeggered/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cheeggered/ip.git (master) completed! -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepos -INFO: [234/480] Analyzing https://github.com/neyapraveen/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Jweng88/ip.git completed! -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/J-hta-n/ip.git... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepos +INFO: [234/480] Analyzing https://github.com/TehOPanas/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/neyapraveen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/neyapraveen/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/J-hta-n/ip.git to complete... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/EricXiong420/ip.git completed! -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Tim-Siu/ip.git... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jovkusuma/ip.git completed! -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Tim-Siu/ip.git to complete... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yarnmengnus/ip.git... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yarnmengnus/ip.git to complete... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TehOPanas/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TehOPanas/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/neyapraveen/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/neyapraveen/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/neyapraveen/ip.git (master) completed! -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepos INFO: [235/480] Analyzing https://github.com/richiehx/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/richiehx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/richiehx/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sopa301/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/javinchua/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/javinchua/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ngeeyonglim/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/flexibo/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/amosting/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cleon2/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/amosting/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cleon2/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ItsTYtan/ip.git completed! +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ketweeen/ip.git... +Sep 03, 2023 3:42:02 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ketweeen/ip.git to complete... +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TehOPanas/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TehOPanas/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TehOPanas/ip.git (master) completed! -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/richiehx/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepos INFO: [236/480] Analyzing https://github.com/AlyssaPng/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/richiehx/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AlyssaPng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AlyssaPng/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bhnuka/ip.git completed! -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sopa301/ip.git... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sopa301/ip.git to complete... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/richiehx/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/richiehx/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/richiehx/ip.git (master) completed! -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator analyzeRepos -INFO: [237/480] Analyzing https://github.com/seantehds/ip.git (master)... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/J-hta-n/ip.git completed! -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ngeeyonglim/ip.git... -Sep 03, 2023 1:17:52 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ngeeyonglim/ip.git to complete... -Sep 03, 2023 1:17:52 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seantehds/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:52 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seantehds/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Tim-Siu/ip.git completed! -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/flexibo/ip.git... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/flexibo/ip.git to complete... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yarnmengnus/ip.git completed! -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ItsTYtan/ip.git... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ItsTYtan/ip.git to complete... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AlyssaPng/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AlyssaPng/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AlyssaPng/ip.git (master) completed! -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepos -INFO: [238/480] Analyzing https://github.com/leezhengjing/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator analyzeRepos +INFO: [237/480] Analyzing https://github.com/leezhengjing/ip.git (master)... +Sep 03, 2023 3:42:02 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leezhengjing/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leezhengjing/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sopa301/ip.git completed! -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/javinchua/ip.git... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/javinchua/ip.git to complete... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/javinchua/ip.git completed! +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AlyssaPng/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sudarshan2401/ip.git... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sudarshan2401/ip.git to complete... +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/leezhengjing/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AlyssaPng/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AlyssaPng/ip.git (master) completed! +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepos +INFO: [238/480] Analyzing https://github.com/seantehds/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/leezhengjing/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/leezhengjing/ip.git (master) completed! -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepos INFO: [239/480] Analyzing https://github.com/ceilingFan456/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/seantehds/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seantehds/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seantehds/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ceilingFan456/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ceilingFan456/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/seantehds/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/seantehds/ip.git (master) completed! -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepos -INFO: [240/480] Analyzing https://github.com/lihongguang00/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lihongguang00/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lihongguang00/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ngeeyonglim/ip.git completed! -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/amosting/ip.git... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/amosting/ip.git to complete... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/flexibo/ip.git completed! -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cleon2/ip.git... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ItsTYtan/ip.git completed! -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cleon2/ip.git to complete... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ketweeen/ip.git... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/amosting/ip.git completed! +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wui-hong/ip.git... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wui-hong/ip.git to complete... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cleon2/ip.git completed! +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Respirayson/ip.git... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Respirayson/ip.git to complete... +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ceilingFan456/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ketweeen/ip.git to complete... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ceilingFan456/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ceilingFan456/ip.git (master) completed! -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator analyzeRepos -INFO: [241/480] Analyzing https://github.com/Singa-pirate/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Singa-pirate/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:53 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Singa-pirate/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepos +INFO: [240/480] Analyzing https://github.com/lihongguang00/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ketweeen/ip.git completed! +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lihongguang00/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lihongguang00/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chrainx/ip.git... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chrainx/ip.git to complete... +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lihongguang00/ip.git (master)... -Sep 03, 2023 1:17:53 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lihongguang00/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lihongguang00/ip.git (master) completed! -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepos -INFO: [242/480] Analyzing https://github.com/songfangyl/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepos +INFO: [241/480] Analyzing https://github.com/songfangyl/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/seantehds/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/songfangyl/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/songfangyl/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/javinchua/ip.git completed! -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sudarshan2401/ip.git... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sudarshan2401/ip.git to complete... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/seantehds/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/seantehds/ip.git (master) completed! +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator analyzeRepos +INFO: [242/480] Analyzing https://github.com/Singa-pirate/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Singa-pirate/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Singa-pirate/ip.git (master)... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sudarshan2401/ip.git completed! +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shishirbychapur/ip.git... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shishirbychapur/ip.git to complete... +Sep 03, 2023 3:42:03 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wui-hong/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chrainx/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sunzihan23/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Respirayson/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wj331/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sunzihan23/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wj331/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tjch-o/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tjch-o/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Singa-pirate/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Singa-pirate/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Singa-pirate/ip.git (master) completed! -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepos -INFO: [243/480] Analyzing https://github.com/YeoBohShin/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/amosting/ip.git completed! -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/YeoBohShin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/YeoBohShin/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wui-hong/ip.git... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wui-hong/ip.git to complete... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cleon2/ip.git completed! -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Respirayson/ip.git... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ketweeen/ip.git completed! -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Respirayson/ip.git to complete... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chrainx/ip.git... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chrainx/ip.git to complete... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepos +INFO: [243/480] Analyzing https://github.com/vansh284/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/vansh284/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/vansh284/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/songfangyl/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/songfangyl/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/songfangyl/ip.git (master) completed! -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepos -INFO: [244/480] Analyzing https://github.com/vansh284/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sudarshan2401/ip.git completed! -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shishirbychapur/ip.git... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/vansh284/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/vansh284/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepos +INFO: [244/480] Analyzing https://github.com/YeoBohShin/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/YeoBohShin/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/YeoBohShin/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shishirbychapur/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/licongshen12/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/licongshen12/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/YeoBohShin/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shishirbychapur/ip.git to complete... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/YeoBohShin/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/YeoBohShin/ip.git (master) completed! -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepos INFO: [245/480] Analyzing https://github.com/lunaroddity/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lunaroddity/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:54 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lunaroddity/ip.git (master)... -Sep 03, 2023 1:17:54 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lunaroddity/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lunaroddity/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lunaroddity/ip.git (master) completed! -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [246/480] Analyzing https://github.com/shuenj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shuenj/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shuenj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wui-hong/ip.git completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Respirayson/ip.git completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sunzihan23/ip.git... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tjch-o/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/vansh284/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sunzihan23/ip.git to complete... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wj331/ip.git... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wj331/ip.git to complete... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sunzihan23/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mamayuan/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wj331/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ong-wei-hong/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mamayuan/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanboonkhong/ip.git... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanboonkhong/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/vansh284/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ong-wei-hong/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/vansh284/ip.git (master) completed! -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [247/480] Analyzing https://github.com/andrechuakj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chrainx/ip.git completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tjch-o/ip.git... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepos +INFO: [246/480] Analyzing https://github.com/andrechuakj/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/andrechuakj/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/andrechuakj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tjch-o/ip.git to complete... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lunaroddity/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/licongshen12/ip.git completed! +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cbj252/ip.git... +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lunaroddity/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cbj252/ip.git to complete... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lunaroddity/ip.git (master) completed! +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepos +INFO: [247/480] Analyzing https://github.com/WeeMingQing/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WeeMingQing/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WeeMingQing/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/andrechuakj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shishirbychapur/ip.git completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/licongshen12/ip.git... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/andrechuakj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/andrechuakj/ip.git (master) completed! -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [248/480] Analyzing https://github.com/WeeMingQing/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/licongshen12/ip.git to complete... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WeeMingQing/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WeeMingQing/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shuenj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shuenj/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shuenj/ip.git (master) completed! -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [249/480] Analyzing https://github.com/aliciamichellew/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aliciamichellew/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:55 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aliciamichellew/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator analyzeRepos +INFO: [248/480] Analyzing https://github.com/shuenj/ip.git (master)... +Sep 03, 2023 3:42:04 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shuenj/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shuenj/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WeeMingQing/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sunzihan23/ip.git completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wj331/ip.git completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mamayuan/ip.git... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ong-wei-hong/ip.git... -Sep 03, 2023 1:17:55 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WeeMingQing/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ong-wei-hong/ip.git to complete... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WeeMingQing/ip.git (master) completed! -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mamayuan/ip.git to complete... -Sep 03, 2023 1:17:55 AM reposense.report.ReportGenerator analyzeRepos -INFO: [250/480] Analyzing https://github.com/samuelmui8/ip.git (master)... -Sep 03, 2023 1:17:55 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tjch-o/ip.git completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanboonkhong/ip.git... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/samuelmui8/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/samuelmui8/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanboonkhong/ip.git to complete... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/licongshen12/ip.git completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cbj252/ip.git... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cbj252/ip.git to complete... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aliciamichellew/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aliciamichellew/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aliciamichellew/ip.git (master) completed! -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepos -INFO: [251/480] Analyzing https://github.com/antonTan96/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepos +INFO: [249/480] Analyzing https://github.com/antonTan96/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanboonkhong/ip.git completed! +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlfredBeNoel/ip.git... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlfredBeNoel/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/antonTan96/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/antonTan96/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/samuelmui8/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/samuelmui8/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/samuelmui8/ip.git (master) completed! -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepos -INFO: [252/480] Analyzing https://github.com/owenyeo/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/owenyeo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/owenyeo/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/mamayuan/ip.git completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cbj252/ip.git completed! +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ong-wei-hong/ip.git completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanboonkhong/ip.git completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlfredBeNoel/ip.git... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/keaganpzh/ip.git... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner spawnCloneProcess +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ElginTZM/ip.git... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ElginTZM/ip.git to complete... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LimJH2002/ip.git... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/keaganpzh/ip.git to complete... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlfredBeNoel/ip.git to complete... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ElginTZM/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LimJH2002/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shuenj/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shuenj/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shuenj/ip.git (master) completed! +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepos +INFO: [250/480] Analyzing https://github.com/owenyeo/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/owenyeo/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/owenyeo/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/owenyeo/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/antonTan96/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cbj252/ip.git completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LimJH2002/ip.git... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/owenyeo/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/owenyeo/ip.git (master) completed! -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepos -INFO: [253/480] Analyzing https://github.com/gongg21/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepos +INFO: [251/480] Analyzing https://github.com/aliciamichellew/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/antonTan96/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/antonTan96/ip.git (master) completed! -Sep 03, 2023 1:17:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LimJH2002/ip.git to complete... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator analyzeRepos -INFO: [254/480] Analyzing https://github.com/nabonitasen/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aliciamichellew/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aliciamichellew/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepos +INFO: [252/480] Analyzing https://github.com/samuelmui8/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/samuelmui8/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/samuelmui8/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/keaganpzh/ip.git completed! +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlfredBeNoel/ip.git completed! +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LimJH2002/ip.git completed! +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cmHuang777/ip.git... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WeeeHung/ip.git... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ElginTZM/ip.git completed! +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xxiaoweii/ip.git... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cmHuang777/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/samuelmui8/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WeeeHung/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xxiaoweii/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rayyan35p/ip.git... +Sep 03, 2023 3:42:05 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rayyan35p/ip.git to complete... +Sep 03, 2023 3:42:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/samuelmui8/ip.git (master)... +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/samuelmui8/ip.git (master) completed! +Sep 03, 2023 3:42:05 AM reposense.report.ReportGenerator analyzeRepos +INFO: [253/480] Analyzing https://github.com/gongg21/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/gongg21/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/gongg21/ip.git (master)... -Sep 03, 2023 1:17:56 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aliciamichellew/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aliciamichellew/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aliciamichellew/ip.git (master) completed! +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepos +INFO: [254/480] Analyzing https://github.com/nabonitasen/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nabonitasen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:56 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nabonitasen/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nabonitasen/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/gongg21/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nabonitasen/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nabonitasen/ip.git (master) completed! -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [255/480] Analyzing https://github.com/erohsikivar/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/gongg21/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/gongg21/ip.git (master) completed! -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [256/480] Analyzing https://github.com/pzl111/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/erohsikivar/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/erohsikivar/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepos +INFO: [255/480] Analyzing https://github.com/pzl111/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/pzl111/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/pzl111/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/keaganpzh/ip.git completed! -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cmHuang777/ip.git... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cmHuang777/ip.git to complete... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ElginTZM/ip.git completed! -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlfredBeNoel/ip.git completed! -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LimJH2002/ip.git completed! -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WeeeHung/ip.git... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xxiaoweii/ip.git... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xxiaoweii/ip.git to complete... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rayyan35p/ip.git... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WeeeHung/ip.git to complete... -Sep 03, 2023 1:17:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rayyan35p/ip.git to complete... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nabonitasen/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WeeeHung/ip.git completed! +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cmHuang777/ip.git completed! +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dhruvir29/ip.git... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LinWanLeii/ip.git... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xxiaoweii/ip.git completed! +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dhruvir29/ip.git to complete... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LinWanLeii/ip.git to complete... +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nabonitasen/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nabonitasen/ip.git (master) completed! +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepos +INFO: [256/480] Analyzing https://github.com/erohsikivar/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Song-Mengfei/ip.git... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Song-Mengfei/ip.git to complete... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/erohsikivar/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/erohsikivar/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rayyan35p/ip.git completed! +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jinyuan0425/ip.git... +Sep 03, 2023 3:42:06 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jinyuan0425/ip.git to complete... +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/erohsikivar/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/erohsikivar/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/erohsikivar/ip.git (master) completed! -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepos INFO: [257/480] Analyzing https://github.com/teozern1/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/pzl111/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teozern1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teozern1/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/pzl111/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/pzl111/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/pzl111/ip.git (master) completed! -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [258/480] Analyzing https://github.com/Elijah5399/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Elijah5399/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Elijah5399/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/teozern1/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/teozern1/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/teozern1/ip.git (master) completed! -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [259/480] Analyzing https://github.com/nicleongyj/ip.git (master)... -Sep 03, 2023 1:17:57 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator analyzeRepos +INFO: [258/480] Analyzing https://github.com/nicleongyj/ip.git (master)... +Sep 03, 2023 3:42:06 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicleongyj/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicleongyj/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cmHuang777/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dhruvir29/ip.git... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xxiaoweii/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LinWanLeii/ip.git... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dhruvir29/ip.git to complete... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WeeeHung/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LinWanLeii/ip.git to complete... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Song-Mengfei/ip.git... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rayyan35p/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Song-Mengfei/ip.git to complete... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jinyuan0425/ip.git... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jinyuan0425/ip.git to complete... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Elijah5399/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dhruvir29/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tiif/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Song-Mengfei/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tiif/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicholascher/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicholascher/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LinWanLeii/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/hcs1203/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hcs1203/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/teozern1/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicleongyj/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Elijah5399/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Elijah5399/ip.git (master) completed! -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [260/480] Analyzing https://github.com/WinSheng1/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicleongyj/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nicleongyj/ip.git (master) completed! +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepos +INFO: [259/480] Analyzing https://github.com/Elijah5399/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/teozern1/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/teozern1/ip.git (master) completed! +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepos +INFO: [260/480] Analyzing https://github.com/WinSheng1/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WinSheng1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WinSheng1/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nicleongyj/ip.git (master) completed! -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [261/480] Analyzing https://github.com/ryamgoh/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ryamgoh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ryamgoh/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Elijah5399/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Elijah5399/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jinyuan0425/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/papataco14/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/papataco14/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WinSheng1/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Elijah5399/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WinSheng1/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WinSheng1/ip.git (master) completed! -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [262/480] Analyzing https://github.com/yucongkoo/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepos +INFO: [261/480] Analyzing https://github.com/yucongkoo/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Elijah5399/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Elijah5399/ip.git (master) completed! +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepos +INFO: [262/480] Analyzing https://github.com/ryamgoh/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yucongkoo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yucongkoo/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ryamgoh/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ryamgoh/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tiif/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicholascher/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KamJiaYue/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hcs1203/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/NereusWB922/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/KamJiaYue/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/PohSayKeong/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/PohSayKeong/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/NereusWB922/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ryamgoh/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryamgoh/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/papataco14/ip.git completed! +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryamgoh/ip.git (master) completed! -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [263/480] Analyzing https://github.com/Chen-Kuei/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepos +INFO: [263/480] Analyzing https://github.com/conradsoon/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ivyy-poison/ip.git... +Sep 03, 2023 3:42:07 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ivyy-poison/ip.git to complete... +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/conradsoon/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/conradsoon/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yucongkoo/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yucongkoo/ip.git (master)... +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yucongkoo/ip.git (master) completed! +Sep 03, 2023 3:42:07 AM reposense.report.ReportGenerator analyzeRepos +INFO: [264/480] Analyzing https://github.com/Chen-Kuei/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chen-Kuei/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chen-Kuei/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chen-Kuei/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chen-Kuei/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chen-Kuei/ip.git (master) completed! -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [264/480] Analyzing https://github.com/conradsoon/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/conradsoon/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/conradsoon/ip.git (master)... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dhruvir29/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LinWanLeii/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tiif/ip.git... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tiif/ip.git to complete... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicholascher/ip.git... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicholascher/ip.git to complete... -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jinyuan0425/ip.git completed! -Sep 03, 2023 1:17:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Song-Mengfei/ip.git completed! -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/hcs1203/ip.git... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/papataco14/ip.git... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/papataco14/ip.git to complete... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hcs1203/ip.git to complete... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PohSayKeong/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jacobcuison/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepos +INFO: [265/480] Analyzing https://github.com/et-irl/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jacobcuison/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/et-irl/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/et-irl/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/conradsoon/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/conradsoon/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yucongkoo/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/conradsoon/ip.git (master) completed! -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [265/480] Analyzing https://github.com/GSgiansen/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yucongkoo/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yucongkoo/ip.git (master) completed! -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepos +INFO: [266/480] Analyzing https://github.com/GSgiansen/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KamJiaYue/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ji-just-ji/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/NereusWB922/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kohkaijie/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ji-just-ji/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/GSgiansen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/GSgiansen/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [266/480] Analyzing https://github.com/et-irl/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/et-irl/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/et-irl/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tiif/ip.git completed! -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KamJiaYue/ip.git... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicholascher/ip.git completed! -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/NereusWB922/ip.git... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/KamJiaYue/ip.git to complete... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/NereusWB922/ip.git to complete... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hcs1203/ip.git completed! -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/PohSayKeong/ip.git... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/PohSayKeong/ip.git to complete... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/papataco14/ip.git completed! -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ivyy-poison/ip.git... -Sep 03, 2023 1:17:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ivyy-poison/ip.git to complete... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kohkaijie/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ivyy-poison/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rocketninja7/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rocketninja7/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/et-irl/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/GSgiansen/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/et-irl/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/et-irl/ip.git (master) completed! -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [267/480] Analyzing https://github.com/Seonlo99/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Seonlo99/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Seonlo99/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepos +INFO: [267/480] Analyzing https://github.com/marioalvaro/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/GSgiansen/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/GSgiansen/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/GSgiansen/ip.git (master) completed! -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [268/480] Analyzing https://github.com/marioalvaro/ip.git (master)... -Sep 03, 2023 1:17:59 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/marioalvaro/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:17:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/marioalvaro/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/GSgiansen/ip.git (master) completed! +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator analyzeRepos +INFO: [268/480] Analyzing https://github.com/Seonlo99/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Seonlo99/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Seonlo99/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jacobcuison/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zekone/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zekone/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kohkaijie/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/markgcera/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ji-just-ji/ip.git completed! +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/PearlynnT/ip.git... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/markgcera/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/PearlynnT/ip.git to complete... +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/marioalvaro/ip.git (master)... +Sep 03, 2023 3:42:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/marioalvaro/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/marioalvaro/ip.git (master) completed! +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepos +INFO: [269/480] Analyzing https://github.com/marcellaantania/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Seonlo99/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Seonlo99/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/marcellaantania/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/marcellaantania/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Seonlo99/ip.git (master) completed! -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [269/480] Analyzing https://github.com/joel-foo/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/marioalvaro/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepos +INFO: [270/480] Analyzing https://github.com/joel-foo/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/joel-foo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/joel-foo/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/marioalvaro/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/marioalvaro/ip.git (master) completed! -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [270/480] Analyzing https://github.com/tim-pipi/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rocketninja7/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/StevenLiudw/ip.git... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/StevenLiudw/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zekone/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TeeRenJing/ip.git... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TeeRenJing/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/marcellaantania/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PearlynnT/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mounilsankar/ip.git... +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/marcellaantania/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/marcellaantania/ip.git (master) completed! +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepos +INFO: [271/480] Analyzing https://github.com/tim-pipi/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mounilsankar/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tim-pipi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tim-pipi/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KamJiaYue/ip.git completed! -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jacobcuison/ip.git... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jacobcuison/ip.git to complete... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PohSayKeong/ip.git completed! -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ji-just-ji/ip.git... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/NereusWB922/ip.git completed! -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ivyy-poison/ip.git completed! -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ji-just-ji/ip.git to complete... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kohkaijie/ip.git... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rocketninja7/ip.git... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kohkaijie/ip.git to complete... -Sep 03, 2023 1:18:00 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rocketninja7/ip.git to complete... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tim-pipi/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tim-pipi/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tim-pipi/ip.git (master) completed! -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [271/480] Analyzing https://github.com/brendanneojw/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/brendanneojw/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/brendanneojw/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/markgcera/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dloh2236/ip.git... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dloh2236/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/joel-foo/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/joel-foo/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/joel-foo/ip.git (master) completed! -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [272/480] Analyzing https://github.com/marcellaantania/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/marcellaantania/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/marcellaantania/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/brendanneojw/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/brendanneojw/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/brendanneojw/ip.git (master) completed! -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tim-pipi/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepos +INFO: [272/480] Analyzing https://github.com/brendanneojw/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/brendanneojw/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tim-pipi/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/brendanneojw/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tim-pipi/ip.git (master) completed! +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepos INFO: [273/480] Analyzing https://github.com/li-rongzhi/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/marcellaantania/ip.git (master)... -Sep 03, 2023 1:18:00 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/li-rongzhi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/li-rongzhi/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/marcellaantania/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/marcellaantania/ip.git (master) completed! -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/StevenLiudw/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zannloo/ip.git... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zannloo/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TeeRenJing/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/junnengsoo/ip.git... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mounilsankar/ip.git completed! +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/junnengsoo/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/freshcabbage123/ip.git... +Sep 03, 2023 3:42:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/freshcabbage123/ip.git to complete... +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/brendanneojw/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/brendanneojw/ip.git (master)... +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/brendanneojw/ip.git (master) completed! +Sep 03, 2023 3:42:09 AM reposense.report.ReportGenerator analyzeRepos INFO: [274/480] Analyzing https://github.com/KamiliArsyad/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/KamiliArsyad/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/KamiliArsyad/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kohkaijie/ip.git completed! -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zekone/ip.git... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rocketninja7/ip.git completed! -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zekone/ip.git to complete... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/markgcera/ip.git... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/markgcera/ip.git to complete... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ji-just-ji/ip.git completed! -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/PearlynnT/ip.git... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/PearlynnT/ip.git to complete... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dloh2236/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kokseng1/ip.git... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kokseng1/ip.git to complete... +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KamiliArsyad/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KamiliArsyad/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KamiliArsyad/ip.git (master) completed! -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepos INFO: [275/480] Analyzing https://github.com/trgao/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/li-rongzhi/ip.git (master)... +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/trgao/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/trgao/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/li-rongzhi/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/li-rongzhi/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/li-rongzhi/ip.git (master) completed! -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepos INFO: [276/480] Analyzing https://github.com/seraphimstreets/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/seraphimstreets/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/seraphimstreets/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jacobcuison/ip.git completed! -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/StevenLiudw/ip.git... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/trgao/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/StevenLiudw/ip.git to complete... -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/trgao/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/trgao/ip.git (master) completed! -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator analyzeRepos -INFO: [277/480] Analyzing https://github.com/lilozz2/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lilozz2/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:01 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lilozz2/ip.git (master)... -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/markgcera/ip.git completed! -Sep 03, 2023 1:18:01 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zekone/ip.git completed! -Sep 03, 2023 1:18:01 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zannloo/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/itsNatTan/ip.git... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/itsNatTan/ip.git to complete... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/junnengsoo/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tjingsheng/ip.git... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tjingsheng/ip.git to complete... +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/seraphimstreets/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TeeRenJing/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PearlynnT/ip.git completed! -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mounilsankar/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TeeRenJing/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/seraphimstreets/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/seraphimstreets/ip.git (master) completed! -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mounilsankar/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepos +INFO: [277/480] Analyzing https://github.com/lilozz2/ip.git (master)... +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lilozz2/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lilozz2/ip.git (master)... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/freshcabbage123/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/trgao/ip.git (master)... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ZD292/ip.git... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ZD292/ip.git to complete... +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/trgao/ip.git (master)... +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/trgao/ip.git (master) completed! +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepos INFO: [278/480] Analyzing https://github.com/jean-cq/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dloh2236/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dloh2236/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jean-cq/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jean-cq/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kokseng1/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alientian/ip.git... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/alientian/ip.git to complete... +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lilozz2/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lilozz2/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lilozz2/ip.git (master) completed! -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator analyzeRepos INFO: [279/480] Analyzing https://github.com/jedkohjk/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jedkohjk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jedkohjk/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/itsNatTan/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/frrrrry/ip.git... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/frrrrry/ip.git to complete... +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tjingsheng/ip.git completed! +Sep 03, 2023 3:42:10 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wanghejin/ip.git... +Sep 03, 2023 3:42:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jean-cq/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wanghejin/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jean-cq/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jean-cq/ip.git (master) completed! -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepos INFO: [280/480] Analyzing https://github.com/yytan25/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yytan25/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:02 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yytan25/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/StevenLiudw/ip.git completed! -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zannloo/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TeeRenJing/ip.git completed! -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mounilsankar/ip.git completed! -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zannloo/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/junnengsoo/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/freshcabbage123/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/freshcabbage123/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dloh2236/ip.git completed! -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/junnengsoo/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kokseng1/ip.git... -Sep 03, 2023 1:18:02 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kokseng1/ip.git to complete... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jedkohjk/ip.git (master)... -Sep 03, 2023 1:18:02 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yytan25/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jedkohjk/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jedkohjk/ip.git (master) completed! -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alientian/ip.git completed! +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/MagnificentCreature/ip.git... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/MagnificentCreature/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ZD292/ip.git completed! +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SungMatt/ip.git... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SungMatt/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yytan25/ip.git (master)... +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yytan25/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepos -INFO: [281/480] Analyzing https://github.com/ryantzr1/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yytan25/ip.git (master) completed! -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepos -INFO: [282/480] Analyzing https://github.com/maypfv/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepos +INFO: [281/480] Analyzing https://github.com/ryantzr1/ip.git (master)... +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jedkohjk/ip.git (master)... +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ryantzr1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ryantzr1/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jedkohjk/ip.git (master)... +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jedkohjk/ip.git (master) completed! +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepos +INFO: [282/480] Analyzing https://github.com/maypfv/ip.git (master)... +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/maypfv/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/maypfv/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wanghejin/ip.git completed! +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andrefoo/ip.git... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andrefoo/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ryantzr1/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/frrrrry/ip.git completed! +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryantzr1/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryantzr1/ip.git (master) completed! -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepos INFO: [283/480] Analyzing https://github.com/TohLiYuan/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tohpinren/ip.git... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SungMatt/ip.git completed! +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tohpinren/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/XihuaZ/ip.git... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/MagnificentCreature/ip.git completed! +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TohLiYuan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TohLiYuan/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/XihuaZ/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xavierpok/ip.git... +Sep 03, 2023 3:42:11 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xavierpok/ip.git to complete... +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/maypfv/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zannloo/ip.git completed! -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/itsNatTan/ip.git... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/maypfv/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/maypfv/ip.git (master) completed! -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/itsNatTan/ip.git to complete... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:11 AM reposense.report.ReportGenerator analyzeRepos INFO: [284/480] Analyzing https://github.com/JizhuoChen/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/freshcabbage123/ip.git completed! -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/junnengsoo/ip.git completed! -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JizhuoChen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JizhuoChen/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tjingsheng/ip.git... -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ZD292/ip.git... -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tjingsheng/ip.git to complete... -Sep 03, 2023 1:18:03 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ZD292/ip.git to complete... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TohLiYuan/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TohLiYuan/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TohLiYuan/ip.git (master) completed! -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepos INFO: [285/480] Analyzing https://github.com/ChongWeiJie29/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ChongWeiJie29/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ChongWeiJie29/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andrefoo/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bkjwjason/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bkjwjason/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/XihuaZ/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Choonyan02/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tohpinren/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Choonyan02/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/aarontxz/ip.git... +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/JizhuoChen/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aarontxz/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xavierpok/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JizhuoChen/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JizhuoChen/ip.git (master) completed! -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepos INFO: [286/480] Analyzing https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jianyangg/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jianyangg/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Goh-Li-Ting/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:03 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 03, 2023 1:18:03 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ChongWeiJie29/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ChongWeiJie29/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ChongWeiJie29/ip.git (master) completed! -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepos INFO: [287/480] Analyzing https://github.com/kristayeo/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kristayeo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kristayeo/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/itsNatTan/ip.git completed! -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alientian/ip.git... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kokseng1/ip.git completed! -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/alientian/ip.git to complete... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/frrrrry/ip.git... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ZD292/ip.git completed! -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/frrrrry/ip.git to complete... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wanghejin/ip.git... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tjingsheng/ip.git completed! -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wanghejin/ip.git to complete... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/MagnificentCreature/ip.git... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/MagnificentCreature/ip.git to complete... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kristayeo/ip.git (master)... +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kristayeo/ip.git (master)... +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kristayeo/ip.git (master) completed! +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepos +INFO: [288/480] Analyzing https://github.com/derekjxtan/ip.git (master)... +Sep 03, 2023 3:42:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Goh-Li-Ting/ip.git (master) completed! -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepos -INFO: [288/480] Analyzing https://github.com/derekjxtan/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kristayeo/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator analyzeRepos +INFO: [289/480] Analyzing https://github.com/Chandan8186/ip.git (master)... +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/derekjxtan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/derekjxtan/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kristayeo/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kristayeo/ip.git (master) completed! -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepos -INFO: [289/480] Analyzing https://github.com/shashahchk/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shashahchk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shashahchk/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shashahchk/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shashahchk/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shashahchk/ip.git (master) completed! -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator analyzeRepos -INFO: [290/480] Analyzing https://github.com/Chandan8186/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alientian/ip.git completed! -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/frrrrry/ip.git completed! -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SungMatt/ip.git... -Sep 03, 2023 1:18:04 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chandan8186/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:04 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chandan8186/ip.git (master)... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andrefoo/ip.git... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SungMatt/ip.git to complete... -Sep 03, 2023 1:18:04 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wanghejin/ip.git completed! -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tohpinren/ip.git... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andrefoo/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tohpinren/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/derekjxtan/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/MagnificentCreature/ip.git completed! -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/XihuaZ/ip.git... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/derekjxtan/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/derekjxtan/ip.git (master) completed! -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepos -INFO: [291/480] Analyzing https://github.com/alyssaongyx/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/XihuaZ/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/alyssaongyx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/alyssaongyx/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bkjwjason/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tayian/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tayian/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Choonyan02/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jianyangg/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wnchan/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aarontxz/ip.git completed! +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jweewee/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wnchan/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Jweewee/ip.git to complete... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cyaoxuan/ip.git... +Sep 03, 2023 3:42:12 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cyaoxuan/ip.git to complete... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chandan8186/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/alyssaongyx/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chandan8186/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chandan8186/ip.git (master) completed! -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepos -INFO: [292/480] Analyzing https://github.com/AndrewJanong/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/alyssaongyx/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/alyssaongyx/ip.git (master) completed! -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepos -INFO: [293/480] Analyzing https://github.com/Kailash201/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [290/480] Analyzing https://github.com/shashahchk/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shashahchk/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shashahchk/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/derekjxtan/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/derekjxtan/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/derekjxtan/ip.git (master) completed! +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [291/480] Analyzing https://github.com/AndrewJanong/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AndrewJanong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AndrewJanong/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kailash201/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kailash201/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shashahchk/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Jweewee/ip.git completed! +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shashahchk/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shashahchk/ip.git (master) completed! +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [292/480] Analyzing https://github.com/alyssaongyx/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/anthonytamzil/ip.git... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/anthonytamzil/ip.git to complete... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/alyssaongyx/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/alyssaongyx/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tayian/ip.git completed! +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wnchan/ip.git completed! +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/CelestineTan03/ip.git... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/saltedfishxx/ip.git... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/CelestineTan03/ip.git to complete... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/saltedfishxx/ip.git to complete... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cyaoxuan/ip.git completed! +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/euchangxian/ip.git... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/euchangxian/ip.git to complete... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AndrewJanong/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AndrewJanong/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andrefoo/ip.git completed! -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AndrewJanong/ip.git (master) completed! -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [293/480] Analyzing https://github.com/Kailash201/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kailash201/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kailash201/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/alyssaongyx/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/alyssaongyx/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/alyssaongyx/ip.git (master) completed! +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepos INFO: [294/480] Analyzing https://github.com/laurenlim2112/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xavierpok/ip.git... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xavierpok/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/XihuaZ/ip.git completed! -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bkjwjason/ip.git... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bkjwjason/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/laurenlim2112/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:05 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/laurenlim2112/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tohpinren/ip.git completed! -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SungMatt/ip.git completed! -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Choonyan02/ip.git... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/aarontxz/ip.git... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Choonyan02/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aarontxz/ip.git to complete... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kailash201/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/anthonytamzil/ip.git completed! +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlagappanRa/ip.git... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlagappanRa/ip.git to complete... +Sep 03, 2023 3:42:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kailash201/ip.git (master)... -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kailash201/ip.git (master) completed! -Sep 03, 2023 1:18:05 AM reposense.report.ReportGenerator analyzeRepos -INFO: [295/480] Analyzing https://github.com/lambraydon/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lambraydon/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lambraydon/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator analyzeRepos +INFO: [295/480] Analyzing https://github.com/sk2001git/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sk2001git/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sk2001git/ip.git (master)... +Sep 03, 2023 3:42:13 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/CelestineTan03/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Ken-Lai/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Ken-Lai/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/saltedfishxx/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/euchangxian/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/felibunnyy/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/felibunnyy/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/itssisi/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/itssisi/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/laurenlim2112/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/laurenlim2112/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/laurenlim2112/ip.git (master) completed! -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lambraydon/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepos -INFO: [296/480] Analyzing https://github.com/sk2001git/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lambraydon/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lambraydon/ip.git (master) completed! -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepos -INFO: [297/480] Analyzing https://github.com/chonguschonguschongus/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sk2001git/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sk2001git/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chonguschonguschongus/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chonguschonguschongus/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xavierpok/ip.git completed! -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jianyangg/ip.git... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bkjwjason/ip.git completed! -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jianyangg/ip.git to complete... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tayian/ip.git... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aarontxz/ip.git completed! -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Choonyan02/ip.git completed! -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tayian/ip.git to complete... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wnchan/ip.git... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jweewee/ip.git... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wnchan/ip.git to complete... -Sep 03, 2023 1:18:06 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Jweewee/ip.git to complete... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepos +INFO: [296/480] Analyzing https://github.com/lambraydon/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lambraydon/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lambraydon/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sk2001git/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sk2001git/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sk2001git/ip.git (master) completed! -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepos +INFO: [297/480] Analyzing https://github.com/chonguschonguschongus/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chonguschonguschongus/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chonguschonguschongus/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlagappanRa/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jamz903/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jamz903/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lambraydon/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lambraydon/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lambraydon/ip.git (master) completed! +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepos INFO: [298/480] Analyzing https://github.com/lshaoqin/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Ken-Lai/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lshaoqin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lshaoqin/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kevin-Liusx/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kevin-Liusx/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/felibunnyy/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Propene-Dan/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Propene-Dan/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/itssisi/ip.git completed! +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ChuanXinNg/ip.git... +Sep 03, 2023 3:42:14 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChuanXinNg/ip.git to complete... +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chonguschonguschongus/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chonguschonguschongus/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chonguschonguschongus/ip.git (master) completed! -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator analyzeRepos -INFO: [299/480] Analyzing https://github.com/WangCheng0116/ip.git (master)... -Sep 03, 2023 1:18:06 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WangCheng0116/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:06 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WangCheng0116/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepos +INFO: [299/480] Analyzing https://github.com/peasantbird/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/peasantbird/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/peasantbird/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lshaoqin/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lshaoqin/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lshaoqin/ip.git (master) completed! -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [300/480] Analyzing https://github.com/peasantbird/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/peasantbird/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/peasantbird/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jianyangg/ip.git completed! -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tayian/ip.git completed! -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cyaoxuan/ip.git... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cyaoxuan/ip.git to complete... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wnchan/ip.git completed! -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/anthonytamzil/ip.git... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/CelestineTan03/ip.git... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/anthonytamzil/ip.git to complete... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/CelestineTan03/ip.git to complete... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/WangCheng0116/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator analyzeRepos +INFO: [300/480] Analyzing https://github.com/WangCheng0116/ip.git (master)... +Sep 03, 2023 3:42:14 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WangCheng0116/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WangCheng0116/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jamz903/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/peasantbird/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Jweewee/ip.git completed! -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/saltedfishxx/ip.git... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/WangCheng0116/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kenvynKwek/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kenvynKwek/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/peasantbird/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/WangCheng0116/ip.git (master) completed! -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/peasantbird/ip.git (master) completed! -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepos INFO: [301/480] Analyzing https://github.com/teozhengyang/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [302/480] Analyzing https://github.com/chewjh1234/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/saltedfishxx/ip.git to complete... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chewjh1234/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chewjh1234/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kevin-Liusx/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Ruizhi2001/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Ruizhi2001/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teozhengyang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teozhengyang/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/chewjh1234/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/chewjh1234/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/chewjh1234/ip.git (master) completed! -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [303/480] Analyzing https://github.com/elaineshijie/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/elaineshijie/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/elaineshijie/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Propene-Dan/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChuanXinNg/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/prawnzyy/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/saraozn/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/prawnzyy/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/saraozn/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/WangCheng0116/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/teozhengyang/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/WangCheng0116/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/teozhengyang/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/teozhengyang/ip.git (master) completed! -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator analyzeRepos -INFO: [304/480] Analyzing https://github.com/lynnlow175/ip.git (master)... -Sep 03, 2023 1:18:07 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/WangCheng0116/ip.git (master) completed! +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [302/480] Analyzing https://github.com/chewjh1234/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [303/480] Analyzing https://github.com/lynnlow175/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chewjh1234/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chewjh1234/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lynnlow175/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:07 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lynnlow175/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kenvynKwek/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicholastng010601/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicholastng010601/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/chewjh1234/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/chewjh1234/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/chewjh1234/ip.git (master) completed! +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [304/480] Analyzing https://github.com/elaineshijie/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lynnlow175/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/elaineshijie/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/elaineshijie/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/elaineshijie/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lynnlow175/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lynnlow175/ip.git (master) completed! -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepos INFO: [305/480] Analyzing https://github.com/lordidiot/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/elaineshijie/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/elaineshijie/ip.git (master) completed! -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [306/480] Analyzing https://github.com/chew01/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Ruizhi2001/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lordidiot/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lordidiot/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/CelestineTan03/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/euchangxian/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chew01/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chew01/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cyaoxuan/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/anthonytamzil/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlagappanRa/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/saltedfishxx/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/euchangxian/ip.git to complete... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlagappanRa/ip.git to complete... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Ken-Lai/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/felibunnyy/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/felibunnyy/ip.git to complete... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Ken-Lai/ip.git to complete... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DistractedCat/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DistractedCat/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/saraozn/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yezkez10/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yezkez10/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/prawnzyy/ip.git completed! +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/revdrag/ip.git... +Sep 03, 2023 3:42:15 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/revdrag/ip.git to complete... +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lordidiot/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lordidiot/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lordidiot/ip.git (master) completed! -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [307/480] Analyzing https://github.com/RSXIX/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator analyzeRepos +INFO: [306/480] Analyzing https://github.com/chew01/ip.git (master)... +Sep 03, 2023 3:42:15 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chew01/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chew01/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/elaineshijie/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/elaineshijie/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/elaineshijie/ip.git (master) completed! +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [307/480] Analyzing https://github.com/juliusgambe/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/juliusgambe/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/juliusgambe/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicholastng010601/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alvinlim277/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/alvinlim277/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/chew01/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DistractedCat/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JasonRay168/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JasonRay168/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/chew01/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/chew01/ip.git (master) completed! +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [308/480] Analyzing https://github.com/RSXIX/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yezkez10/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/billieboy7/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RSXIX/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RSXIX/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/billieboy7/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/revdrag/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/juliusgambe/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jannnice/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jannnice/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/juliusgambe/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/juliusgambe/ip.git (master) completed! +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [309/480] Analyzing https://github.com/WZWren/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WZWren/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WZWren/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/RSXIX/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RSXIX/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RSXIX/ip.git (master) completed! -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [308/480] Analyzing https://github.com/juliusgambe/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/chew01/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/chew01/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/juliusgambe/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/juliusgambe/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/chew01/ip.git (master) completed! -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator analyzeRepos -INFO: [309/480] Analyzing https://github.com/zhonghan721/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [310/480] Analyzing https://github.com/zhonghan721/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zhonghan721/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:08 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zhonghan721/ip.git (master)... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlagappanRa/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/euchangxian/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/felibunnyy/ip.git completed! -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/itssisi/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kevin-Liusx/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jamz903/ip.git... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/itssisi/ip.git to complete... -Sep 03, 2023 1:18:08 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Ken-Lai/ip.git completed! -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jamz903/ip.git to complete... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kevin-Liusx/ip.git to complete... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Propene-Dan/ip.git... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Propene-Dan/ip.git to complete... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhonghan721/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhonghan721/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhonghan721/ip.git (master) completed! -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepos -INFO: [310/480] Analyzing https://github.com/WZWren/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/juliusgambe/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WZWren/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WZWren/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/juliusgambe/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/juliusgambe/ip.git (master) completed! -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepos -INFO: [311/480] Analyzing https://github.com/inezkok/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/inezkok/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/inezkok/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WZWren/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alvinlim277/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/evanyan13/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/evanyan13/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WZWren/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WZWren/ip.git (master) completed! -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator analyzeRepos +INFO: [311/480] Analyzing https://github.com/inezkok/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/inezkok/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/inezkok/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/billieboy7/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/samuelim01/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/samuelim01/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jannnice/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dinde2004/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JasonRay168/ip.git completed! +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dinde2004/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhonghan721/ip.git (master)... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seanpzk/ip.git... +Sep 03, 2023 3:42:16 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seanpzk/ip.git to complete... +Sep 03, 2023 3:42:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhonghan721/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhonghan721/ip.git (master) completed! +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos INFO: [312/480] Analyzing https://github.com/wasjoe1/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wasjoe1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wasjoe1/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/inezkok/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/inezkok/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/inezkok/ip.git (master) completed! -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/itssisi/ip.git completed! -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos INFO: [313/480] Analyzing https://github.com/kokrui/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ChuanXinNg/ip.git... -Sep 03, 2023 1:18:09 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wasjoe1/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kokrui/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:09 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kokrui/ip.git (master)... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jamz903/ip.git completed! -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kevin-Liusx/ip.git completed! -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChuanXinNg/ip.git to complete... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kenvynKwek/ip.git... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Propene-Dan/ip.git completed! -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Ruizhi2001/ip.git... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/prawnzyy/ip.git... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kenvynKwek/ip.git to complete... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/prawnzyy/ip.git to complete... -Sep 03, 2023 1:18:09 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Ruizhi2001/ip.git to complete... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kokrui/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kokrui/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kokrui/ip.git (master) completed! -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wasjoe1/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wasjoe1/ip.git (master) completed! +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos INFO: [314/480] Analyzing https://github.com/jinyang628/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jinyang628/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jinyang628/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wasjoe1/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wasjoe1/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wasjoe1/ip.git (master) completed! -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [315/480] Analyzing https://github.com/nananakx-x/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nananakx-x/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nananakx-x/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/evanyan13/ip.git completed! +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KumChaiYin/ip.git... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/KumChaiYin/ip.git to complete... +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kokrui/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/samuelim01/ip.git completed! +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kokrui/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dinde2004/ip.git completed! +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kokrui/ip.git (master) completed! +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [315/480] Analyzing https://github.com/ylyma/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lsyurea/ip.git... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sasmik23/ip.git... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sasmik23/ip.git to complete... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lsyurea/ip.git to complete... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ylyma/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ylyma/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seanpzk/ip.git completed! +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/geraldngjx/ip.git... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/geraldngjx/ip.git to complete... +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jinyang628/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jinyang628/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jinyang628/ip.git (master) completed! -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [316/480] Analyzing https://github.com/ylyma/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nananakx-x/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ylyma/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ylyma/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nananakx-x/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nananakx-x/ip.git (master) completed! -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepos -INFO: [317/480] Analyzing https://github.com/AnnabelTing/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AnnabelTing/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AnnabelTing/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kenvynKwek/ip.git completed! -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/saraozn/ip.git... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/prawnzyy/ip.git completed! -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/saraozn/ip.git to complete... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicholastng010601/ip.git... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Ruizhi2001/ip.git completed! -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicholastng010601/ip.git to complete... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChuanXinNg/ip.git completed! -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DistractedCat/ip.git... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yezkez10/ip.git... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yezkez10/ip.git to complete... -Sep 03, 2023 1:18:10 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DistractedCat/ip.git to complete... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [316/480] Analyzing https://github.com/nananakx-x/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nananakx-x/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nananakx-x/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ylyma/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ylyma/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ylyma/ip.git (master) completed! -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AnnabelTing/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos +INFO: [317/480] Analyzing https://github.com/AnnabelTing/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AnnabelTing/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AnnabelTing/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nananakx-x/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KumChaiYin/ip.git completed! +Sep 03, 2023 3:42:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nananakx-x/ip.git (master)... +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lululwtv/ip.git... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nananakx-x/ip.git (master) completed! +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator analyzeRepos INFO: [318/480] Analyzing https://github.com/timetraveller-123/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AnnabelTing/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AnnabelTing/ip.git (master) completed! -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lululwtv/ip.git to complete... +Sep 03, 2023 3:42:17 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/timetraveller-123/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/timetraveller-123/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:17 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lsyurea/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/garylow2001/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/garylow2001/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sasmik23/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leontan2/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/leontan2/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/geraldngjx/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wamps-jp/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wamps-jp/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AnnabelTing/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AnnabelTing/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AnnabelTing/ip.git (master) completed! +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepos INFO: [319/480] Analyzing https://github.com/LicongHuang/ip.git (master)... -Sep 03, 2023 1:18:10 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LicongHuang/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LicongHuang/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LicongHuang/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/timetraveller-123/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LicongHuang/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LicongHuang/ip.git (master) completed! -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [320/480] Analyzing https://github.com/Jweng88/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/timetraveller-123/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/timetraveller-123/ip.git (master) completed! -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [321/480] Analyzing https://github.com/EricXiong420/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [320/480] Analyzing https://github.com/Jweng88/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Jweng88/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Jweng88/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/EricXiong420/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/EricXiong420/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicholastng010601/ip.git completed! -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/saraozn/ip.git completed! -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yezkez10/ip.git completed! -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DistractedCat/ip.git completed! -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/revdrag/ip.git... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/revdrag/ip.git to complete... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alvinlim277/ip.git... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JasonRay168/ip.git... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/billieboy7/ip.git... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JasonRay168/ip.git to complete... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/alvinlim277/ip.git to complete... -Sep 03, 2023 1:18:11 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/billieboy7/ip.git to complete... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LicongHuang/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LicongHuang/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LicongHuang/ip.git (master) completed! +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [321/480] Analyzing https://github.com/jovkusuma/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lululwtv/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dickongwd/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dickongwd/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jovkusuma/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jovkusuma/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leontan2/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/garylow2001/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Jweng88/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jacksonyuan256/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/suryanshkushwaha/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/suryanshkushwaha/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jacksonyuan256/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Jweng88/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Jweng88/ip.git (master) completed! -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [322/480] Analyzing https://github.com/jovkusuma/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/EricXiong420/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jovkusuma/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jovkusuma/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/EricXiong420/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/EricXiong420/ip.git (master) completed! -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator analyzeRepos -INFO: [323/480] Analyzing https://github.com/bhnuka/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bhnuka/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:11 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bhnuka/ip.git (master)... -Sep 03, 2023 1:18:11 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jovkusuma/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jovkusuma/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jovkusuma/ip.git (master) completed! -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [324/480] Analyzing https://github.com/J-hta-n/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/billieboy7/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/J-hta-n/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/J-hta-n/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/revdrag/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JasonRay168/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jannnice/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alvinlim277/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/evanyan13/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/samuelim01/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jannnice/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dinde2004/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/samuelim01/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/evanyan13/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dinde2004/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/bhnuka/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/bhnuka/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/bhnuka/ip.git (master) completed! -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [325/480] Analyzing https://github.com/Tim-Siu/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Tim-Siu/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Tim-Siu/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [322/480] Analyzing https://github.com/EricXiong420/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/EricXiong420/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/EricXiong420/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wamps-jp/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jovkusuma/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wr1159/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wr1159/ip.git to complete... +Sep 03, 2023 3:42:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jovkusuma/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jovkusuma/ip.git (master) completed! +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator analyzeRepos +INFO: [323/480] Analyzing https://github.com/J-hta-n/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/J-hta-n/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/J-hta-n/ip.git (master)... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dickongwd/ip.git completed! +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nauxe/ip.git... +Sep 03, 2023 3:42:18 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Nauxe/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/J-hta-n/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/J-hta-n/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/J-hta-n/ip.git (master) completed! -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [326/480] Analyzing https://github.com/yarnmengnus/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [324/480] Analyzing https://github.com/bhnuka/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/EricXiong420/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/EricXiong420/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bhnuka/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bhnuka/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/EricXiong420/ip.git (master) completed! +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [325/480] Analyzing https://github.com/yarnmengnus/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yarnmengnus/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yarnmengnus/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Tim-Siu/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Tim-Siu/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Tim-Siu/ip.git (master) completed! -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator analyzeRepos -INFO: [327/480] Analyzing https://github.com/sopa301/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sopa301/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sopa301/ip.git (master)... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jannnice/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seanpzk/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seanpzk/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dinde2004/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/evanyan13/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KumChaiYin/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lsyurea/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/KumChaiYin/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lsyurea/ip.git to complete... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/samuelim01/ip.git completed! -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sasmik23/ip.git... -Sep 03, 2023 1:18:12 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sasmik23/ip.git to complete... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/suryanshkushwaha/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yyyaohhh/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jacksonyuan256/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yyyaohhh/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhanyang01/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhanyang01/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wr1159/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/czhiruo/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/czhiruo/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nauxe/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/bhnuka/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/victorpengmx/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/victorpengmx/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/bhnuka/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/bhnuka/ip.git (master) completed! +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [326/480] Analyzing https://github.com/Tim-Siu/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Tim-Siu/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Tim-Siu/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yarnmengnus/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yarnmengnus/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yarnmengnus/ip.git (master) completed! -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepos -INFO: [328/480] Analyzing https://github.com/ngeeyonglim/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ngeeyonglim/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ngeeyonglim/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator analyzeRepos +INFO: [327/480] Analyzing https://github.com/sopa301/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sopa301/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sopa301/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhanyang01/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/longnguyentan/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/longnguyentan/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yyyaohhh/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/czhiruo/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cikguseven/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Eola-Z/ip.git... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cikguseven/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Eola-Z/ip.git to complete... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/victorpengmx/ip.git completed! +Sep 03, 2023 3:42:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Tim-Siu/ip.git (master)... +Sep 03, 2023 3:42:19 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jibtaf/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jibtaf/ip.git to complete... +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Tim-Siu/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Tim-Siu/ip.git (master) completed! +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sopa301/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [328/480] Analyzing https://github.com/flexibo/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sopa301/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sopa301/ip.git (master) completed! -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepos -INFO: [329/480] Analyzing https://github.com/flexibo/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/flexibo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/flexibo/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ngeeyonglim/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ngeeyonglim/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ngeeyonglim/ip.git (master) completed! -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepos -INFO: [330/480] Analyzing https://github.com/ItsTYtan/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ItsTYtan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ItsTYtan/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KumChaiYin/ip.git completed! -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sasmik23/ip.git completed! -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lsyurea/ip.git completed! -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/geraldngjx/ip.git... -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lululwtv/ip.git... -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lululwtv/ip.git to complete... -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/geraldngjx/ip.git to complete... -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/garylow2001/ip.git... -Sep 03, 2023 1:18:13 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/garylow2001/ip.git to complete... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sopa301/ip.git (master) completed! +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [329/480] Analyzing https://github.com/ngeeyonglim/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ngeeyonglim/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ngeeyonglim/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/longnguyentan/ip.git completed! +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lipwei1808/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lipwei1808/ip.git to complete... +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/flexibo/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/flexibo/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/flexibo/ip.git (master) completed! -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepos +INFO: [330/480] Analyzing https://github.com/ItsTYtan/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ItsTYtan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ItsTYtan/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Eola-Z/ip.git completed! +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Mohammed-Faizzzz/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Mohammed-Faizzzz/ip.git to complete... +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ngeeyonglim/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ngeeyonglim/ip.git (master)... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cikguseven/ip.git completed! +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ngeeyonglim/ip.git (master) completed! +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepos INFO: [331/480] Analyzing https://github.com/javinchua/ip.git (master)... -Sep 03, 2023 1:18:13 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dylkaw/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dylkaw/ip.git to complete... +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/javinchua/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:13 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/javinchua/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jibtaf/ip.git completed! +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nikele2001/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nikele2001/ip.git to complete... +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ItsTYtan/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ItsTYtan/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ItsTYtan/ip.git (master) completed! -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator analyzeRepos INFO: [332/480] Analyzing https://github.com/amosting/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:20 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/amosting/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/amosting/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/geraldngjx/ip.git completed! -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leontan2/ip.git... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/garylow2001/ip.git completed! -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/leontan2/ip.git to complete... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wamps-jp/ip.git... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wamps-jp/ip.git to complete... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/amosting/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lipwei1808/ip.git completed! +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DeltonCheng/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DeltonCheng/ip.git to complete... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Mohammed-Faizzzz/ip.git completed! +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ChangruHenryQian/ip.git... +Sep 03, 2023 3:42:20 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChangruHenryQian/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nikele2001/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/javinchua/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/craigtonlian/ip.git... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/craigtonlian/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/javinchua/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/javinchua/ip.git (master) completed! -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dylkaw/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepos INFO: [333/480] Analyzing https://github.com/Cleon2/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruo-x/ip.git... +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Cleon2/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Cleon2/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruo-x/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/amosting/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/amosting/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/amosting/ip.git (master) completed! -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepos INFO: [334/480] Analyzing https://github.com/ketweeen/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Cleon2/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Cleon2/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ketweeen/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ketweeen/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lululwtv/ip.git completed! -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dickongwd/ip.git... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dickongwd/ip.git to complete... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seanpzk/ip.git completed! -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jacksonyuan256/ip.git... -Sep 03, 2023 1:18:14 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jacksonyuan256/ip.git to complete... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DeltonCheng/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ketweeen/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/iantsaii/ip.git... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/iantsaii/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ketweeen/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ketweeen/ip.git (master) completed! -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepos INFO: [335/480] Analyzing https://github.com/sudarshan2401/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sudarshan2401/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sudarshan2401/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Cleon2/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Cleon2/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Cleon2/ip.git (master) completed! -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepos INFO: [336/480] Analyzing https://github.com/wui-hong/ip.git (master)... -Sep 03, 2023 1:18:14 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sudarshan2401/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sudarshan2401/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wui-hong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wui-hong/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leontan2/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/suryanshkushwaha/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/suryanshkushwaha/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wamps-jp/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wr1159/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wr1159/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dickongwd/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nauxe/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Nauxe/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sudarshan2401/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sudarshan2401/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sudarshan2401/ip.git (master) completed! -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepos -INFO: [337/480] Analyzing https://github.com/Respirayson/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChangruHenryQian/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wjacobw/ip.git... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wjacobw/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/craigtonlian/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/angkyakdifp/ip.git... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/angkyakdifp/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruo-x/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brein62/ip.git... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brein62/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wui-hong/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Respirayson/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Respirayson/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wui-hong/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wui-hong/ip.git (master) completed! -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepos -INFO: [338/480] Analyzing https://github.com/Chrainx/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jacksonyuan256/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepos +INFO: [337/480] Analyzing https://github.com/Chrainx/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sudarshan2401/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chrainx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chrainx/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yyyaohhh/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yyyaohhh/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/iantsaii/ip.git completed! +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicrandomlee/ip.git... +Sep 03, 2023 3:42:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sudarshan2401/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sudarshan2401/ip.git (master) completed! +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator analyzeRepos +INFO: [338/480] Analyzing https://github.com/Respirayson/ip.git (master)... +Sep 03, 2023 3:42:21 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicrandomlee/ip.git to complete... +Sep 03, 2023 3:42:21 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Respirayson/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Respirayson/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wjacobw/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bryan-Goh/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bryan-Goh/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chrainx/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chrainx/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chrainx/ip.git (master) completed! -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepos INFO: [339/480] Analyzing https://github.com/shishirbychapur/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/shishirbychapur/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/shishirbychapur/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/suryanshkushwaha/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhanyang01/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhanyang01/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wr1159/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/czhiruo/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/czhiruo/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nauxe/ip.git completed! -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/angkyakdifp/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kiatkat/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kiatkat/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brein62/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/MadLamprey/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/MadLamprey/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Respirayson/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/victorpengmx/ip.git... -Sep 03, 2023 1:18:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/victorpengmx/ip.git to complete... -Sep 03, 2023 1:18:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Respirayson/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Respirayson/ip.git (master) completed! -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator analyzeRepos -INFO: [340/480] Analyzing https://github.com/sunzihan23/ip.git (master)... -Sep 03, 2023 1:18:15 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sunzihan23/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:15 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sunzihan23/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yyyaohhh/ip.git completed! -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/longnguyentan/ip.git... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/longnguyentan/ip.git to complete... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepos +INFO: [340/480] Analyzing https://github.com/tjch-o/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tjch-o/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tjch-o/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicrandomlee/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xyT-T/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xyT-T/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/shishirbychapur/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sunzihan23/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/shishirbychapur/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shishirbychapur/ip.git (master) completed! -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [341/480] Analyzing https://github.com/wj331/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepos +INFO: [341/480] Analyzing https://github.com/sunzihan23/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bryan-Goh/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jiakai-17/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sunzihan23/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sunzihan23/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jiakai-17/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/MadLamprey/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kiatkat/ip.git completed! +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nreHieW/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nathanielcalimag/ip.git... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nreHieW/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tjch-o/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nathanielcalimag/ip.git to complete... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tjch-o/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tjch-o/ip.git (master) completed! +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepos +INFO: [342/480] Analyzing https://github.com/wj331/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sunzihan23/ip.git (master)... +Sep 03, 2023 3:42:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sunzihan23/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sunzihan23/ip.git (master) completed! -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [342/480] Analyzing https://github.com/tjch-o/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wj331/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wj331/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tjch-o/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tjch-o/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhanyang01/ip.git completed! -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cikguseven/ip.git... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cikguseven/ip.git to complete... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/czhiruo/ip.git completed! -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Eola-Z/ip.git... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Eola-Z/ip.git to complete... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/victorpengmx/ip.git completed! -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jibtaf/ip.git... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jibtaf/ip.git to complete... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/longnguyentan/ip.git completed! -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lipwei1808/ip.git... -Sep 03, 2023 1:18:16 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lipwei1808/ip.git to complete... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wj331/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wj331/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wj331/ip.git (master) completed! -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator analyzeRepos INFO: [343/480] Analyzing https://github.com/licongshen12/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tjch-o/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:22 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/licongshen12/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/licongshen12/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tjch-o/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tjch-o/ip.git (master) completed! -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator analyzeRepos -INFO: [344/480] Analyzing https://github.com/ong-wei-hong/ip.git (master)... -Sep 03, 2023 1:18:16 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ong-wei-hong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ong-wei-hong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Eola-Z/ip.git completed! -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xyT-T/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Saezenn/ip.git... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Saezenn/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jiakai-17/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jellywaiyan/ip.git... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/licongshen12/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Mohammed-Faizzzz/ip.git... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Mohammed-Faizzzz/ip.git to complete... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jellywaiyan/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/licongshen12/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/licongshen12/ip.git (master) completed! -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepos +INFO: [344/480] Analyzing https://github.com/tanboonkhong/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wj331/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanboonkhong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanboonkhong/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wj331/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wj331/ip.git (master) completed! +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepos INFO: [345/480] Analyzing https://github.com/mamayuan/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cikguseven/ip.git completed! -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dylkaw/ip.git... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dylkaw/ip.git to complete... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mamayuan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mamayuan/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jibtaf/ip.git completed! -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nikele2001/ip.git... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nikele2001/ip.git to complete... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nreHieW/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marquestye/ip.git... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marquestye/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nathanielcalimag/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Tang-Moyan/ip.git... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mamayuan/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Tang-Moyan/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mamayuan/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mamayuan/ip.git (master) completed! -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepos -INFO: [346/480] Analyzing https://github.com/tanboonkhong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lipwei1808/ip.git completed! -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DeltonCheng/ip.git... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DeltonCheng/ip.git to complete... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanboonkhong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanboonkhong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ong-wei-hong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ong-wei-hong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ong-wei-hong/ip.git (master) completed! -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepos -INFO: [347/480] Analyzing https://github.com/cbj252/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/cbj252/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/cbj252/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepos +INFO: [346/480] Analyzing https://github.com/ong-wei-hong/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ong-wei-hong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ong-wei-hong/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Saezenn/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DonovanJJ/ip.git... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DonovanJJ/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanboonkhong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanboonkhong/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanboonkhong/ip.git (master) completed! -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepos -INFO: [348/480] Analyzing https://github.com/keaganpzh/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/keaganpzh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/keaganpzh/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepos +INFO: [347/480] Analyzing https://github.com/cbj252/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/cbj252/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/cbj252/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ong-wei-hong/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ong-wei-hong/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ong-wei-hong/ip.git (master) completed! +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepos +INFO: [348/480] Analyzing https://github.com/AlfredBeNoel/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jellywaiyan/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sebtey/ip.git... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/cbj252/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Mohammed-Faizzzz/ip.git completed! -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ChangruHenryQian/ip.git... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChangruHenryQian/ip.git to complete... -Sep 03, 2023 1:18:17 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cbj252/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cbj252/ip.git (master) completed! -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator analyzeRepos -INFO: [349/480] Analyzing https://github.com/AlfredBeNoel/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sebtey/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marquestye/ip.git completed! +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AlfredBeNoel/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:17 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AlfredBeNoel/ip.git (master)... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dylkaw/ip.git completed! -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/craigtonlian/ip.git... -Sep 03, 2023 1:18:17 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/craigtonlian/ip.git to complete... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nikele2001/ip.git completed! -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruo-x/ip.git... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DeltonCheng/ip.git completed! -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruo-x/ip.git to complete... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/iantsaii/ip.git... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/iantsaii/ip.git to complete... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rionshocker/ip.git... +Sep 03, 2023 3:42:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cbj252/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cbj252/ip.git (master) completed! +Sep 03, 2023 3:42:23 AM reposense.report.ReportGenerator analyzeRepos +INFO: [349/480] Analyzing https://github.com/keaganpzh/ip.git (master)... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rionshocker/ip.git to complete... +Sep 03, 2023 3:42:23 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Tang-Moyan/ip.git completed! +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/keaganpzh/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/keaganpzh/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tyouwei/ip.git... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tyouwei/ip.git to complete... +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlfredBeNoel/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlfredBeNoel/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlfredBeNoel/ip.git (master) completed! -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [350/480] Analyzing https://github.com/ElginTZM/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ElginTZM/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ElginTZM/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [350/480] Analyzing https://github.com/LimJH2002/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LimJH2002/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LimJH2002/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DonovanJJ/ip.git completed! +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Blizzeracz/ip.git... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Blizzeracz/ip.git to complete... +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LimJH2002/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/keaganpzh/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LimJH2002/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sebtey/ip.git completed! +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LimJH2002/ip.git (master) completed! +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [351/480] Analyzing https://github.com/ElginTZM/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/keaganpzh/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/keaganpzh/ip.git (master) completed! -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [351/480] Analyzing https://github.com/LimJH2002/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LimJH2002/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LimJH2002/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChangruHenryQian/ip.git completed! -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wjacobw/ip.git... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wjacobw/ip.git to complete... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [352/480] Analyzing https://github.com/WeeeHung/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ElginTZM/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ElginTZM/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rionshocker/ip.git completed! +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WeeeHung/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WeeeHung/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tyouwei/ip.git completed! +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/WeeeHung/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/WeeeHung/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/WeeeHung/ip.git (master) completed! +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [353/480] Analyzing https://github.com/cmHuang777/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/cmHuang777/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/cmHuang777/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Blizzeracz/ip.git completed! +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ElginTZM/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ElginTZM/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ElginTZM/ip.git (master) completed! -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [352/480] Analyzing https://github.com/cmHuang777/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/cmHuang777/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/cmHuang777/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruo-x/ip.git completed! -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/iantsaii/ip.git completed! -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/angkyakdifp/ip.git... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/angkyakdifp/ip.git to complete... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brein62/ip.git... -Sep 03, 2023 1:18:18 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brein62/ip.git to complete... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LimJH2002/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LimJH2002/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LimJH2002/ip.git (master) completed! -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator analyzeRepos -INFO: [353/480] Analyzing https://github.com/xxiaoweii/ip.git (master)... -Sep 03, 2023 1:18:18 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos +INFO: [354/480] Analyzing https://github.com/xxiaoweii/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xxiaoweii/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:18 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xxiaoweii/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/cmHuang777/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cmHuang777/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cmHuang777/ip.git (master) completed! -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [354/480] Analyzing https://github.com/WeeeHung/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WeeeHung/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WeeeHung/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/xxiaoweii/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/xxiaoweii/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/xxiaoweii/ip.git (master) completed! -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos INFO: [355/480] Analyzing https://github.com/rayyan35p/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/xxiaoweii/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/rayyan35p/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/rayyan35p/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wjacobw/ip.git completed! -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicrandomlee/ip.git... -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicrandomlee/ip.git to complete... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/WeeeHung/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/WeeeHung/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/WeeeHung/ip.git (master) completed! -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/xxiaoweii/ip.git (master)... +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/xxiaoweii/ip.git (master) completed! +Sep 03, 2023 3:42:24 AM reposense.report.ReportGenerator analyzeRepos INFO: [356/480] Analyzing https://github.com/dhruvir29/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dhruvir29/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dhruvir29/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brein62/ip.git completed! -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/angkyakdifp/ip.git completed! -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bryan-Goh/ip.git... -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kiatkat/ip.git... -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kiatkat/ip.git to complete... -Sep 03, 2023 1:18:19 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bryan-Goh/ip.git to complete... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/rayyan35p/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/rayyan35p/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dhruvir29/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/rayyan35p/ip.git (master) completed! -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [357/480] Analyzing https://github.com/LinWanLeii/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dhruvir29/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dhruvir29/ip.git (master) completed! -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator analyzeRepos -INFO: [358/480] Analyzing https://github.com/jinyuan0425/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [357/480] Analyzing https://github.com/Song-Mengfei/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Song-Mengfei/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Song-Mengfei/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/rayyan35p/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/rayyan35p/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/rayyan35p/ip.git (master) completed! +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [358/480] Analyzing https://github.com/LinWanLeii/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LinWanLeii/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LinWanLeii/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Song-Mengfei/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Song-Mengfei/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Song-Mengfei/ip.git (master) completed! +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [359/480] Analyzing https://github.com/jinyuan0425/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LinWanLeii/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jinyuan0425/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jinyuan0425/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LinWanLeii/ip.git (master)... -Sep 03, 2023 1:18:19 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LinWanLeii/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LinWanLeii/ip.git (master) completed! -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [359/480] Analyzing https://github.com/Song-Mengfei/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [360/480] Analyzing https://github.com/nicholascher/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nicholascher/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nicholascher/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jinyuan0425/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jinyuan0425/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Song-Mengfei/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Song-Mengfei/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jinyuan0425/ip.git (master) completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicrandomlee/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [360/480] Analyzing https://github.com/tiif/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/MadLamprey/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/MadLamprey/ip.git to complete... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicholascher/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [361/480] Analyzing https://github.com/tiif/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nicholascher/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nicholascher/ip.git (master) completed! +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [362/480] Analyzing https://github.com/hcs1203/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tiif/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tiif/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kiatkat/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bryan-Goh/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xyT-T/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jiakai-17/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xyT-T/ip.git to complete... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jiakai-17/ip.git to complete... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/craigtonlian/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nreHieW/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nreHieW/ip.git to complete... -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Song-Mengfei/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Song-Mengfei/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Song-Mengfei/ip.git (master) completed! -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [361/480] Analyzing https://github.com/nicholascher/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nicholascher/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nicholascher/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiif/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/MadLamprey/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tiif/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tiif/ip.git (master) completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nathanielcalimag/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator analyzeRepos -INFO: [362/480] Analyzing https://github.com/hcs1203/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nathanielcalimag/ip.git to complete... -Sep 03, 2023 1:18:20 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/hcs1203/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/hcs1203/ip.git (master)... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jiakai-17/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xyT-T/ip.git completed! -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Saezenn/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jellywaiyan/ip.git... -Sep 03, 2023 1:18:20 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Saezenn/ip.git to complete... -Sep 03, 2023 1:18:20 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/hcs1203/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jellywaiyan/ip.git to complete... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/hcs1203/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/hcs1203/ip.git (master) completed! -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos INFO: [363/480] Analyzing https://github.com/papataco14/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/papataco14/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/papataco14/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicholascher/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nicholascher/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nicholascher/ip.git (master) completed! -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [364/480] Analyzing https://github.com/KamJiaYue/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/KamJiaYue/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/KamJiaYue/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nreHieW/ip.git completed! -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marquestye/ip.git... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiif/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tiif/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tiif/ip.git (master) completed! +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [364/480] Analyzing https://github.com/PohSayKeong/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/PohSayKeong/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/PohSayKeong/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/papataco14/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marquestye/ip.git to complete... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/papataco14/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/papataco14/ip.git (master) completed! -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [365/480] Analyzing https://github.com/PohSayKeong/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/PohSayKeong/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/PohSayKeong/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nathanielcalimag/ip.git completed! -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Tang-Moyan/ip.git... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Tang-Moyan/ip.git to complete... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jellywaiyan/ip.git completed! -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Saezenn/ip.git completed! -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DonovanJJ/ip.git... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DonovanJJ/ip.git to complete... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sebtey/ip.git... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sebtey/ip.git to complete... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/KamJiaYue/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [365/480] Analyzing https://github.com/KamJiaYue/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/KamJiaYue/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/KamJiaYue/ip.git (master)... +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/PohSayKeong/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/KamJiaYue/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/PohSayKeong/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/PohSayKeong/ip.git (master) completed! -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:25 AM reposense.report.ReportGenerator analyzeRepos +INFO: [366/480] Analyzing https://github.com/NereusWB922/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/NereusWB922/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/NereusWB922/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/KamJiaYue/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/KamJiaYue/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KamJiaYue/ip.git (master) completed! -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [366/480] Analyzing https://github.com/ivyy-poison/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator analyzeRepos -INFO: [367/480] Analyzing https://github.com/NereusWB922/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [367/480] Analyzing https://github.com/ivyy-poison/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ivyy-poison/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ivyy-poison/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/NereusWB922/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/NereusWB922/ip.git (master)... -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marquestye/ip.git completed! -Sep 03, 2023 1:18:21 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rionshocker/ip.git... -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rionshocker/ip.git to complete... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ivyy-poison/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ivyy-poison/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ivyy-poison/ip.git (master) completed! -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [368/480] Analyzing https://github.com/kohkaijie/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kohkaijie/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kohkaijie/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [368/480] Analyzing https://github.com/jacobcuison/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/NereusWB922/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jacobcuison/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jacobcuison/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/NereusWB922/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/NereusWB922/ip.git (master) completed! -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [369/480] Analyzing https://github.com/rocketninja7/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Tang-Moyan/ip.git completed! -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DonovanJJ/ip.git completed! -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sebtey/ip.git completed! -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tyouwei/ip.git... -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Blizzeracz/ip.git... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/rocketninja7/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/rocketninja7/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Blizzeracz/ip.git to complete... -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tyouwei/ip.git to complete... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [369/480] Analyzing https://github.com/kohkaijie/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kohkaijie/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kohkaijie/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kohkaijie/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jacobcuison/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kohkaijie/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kohkaijie/ip.git (master) completed! -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos INFO: [370/480] Analyzing https://github.com/ji-just-ji/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jacobcuison/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jacobcuison/ip.git (master) completed! +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [371/480] Analyzing https://github.com/rocketninja7/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ji-just-ji/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ji-just-ji/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rionshocker/ip.git completed! -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/rocketninja7/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/rocketninja7/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rocketninja7/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rocketninja7/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rocketninja7/ip.git (master) completed! -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [371/480] Analyzing https://github.com/jacobcuison/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jacobcuison/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jacobcuison/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [372/480] Analyzing https://github.com/zekone/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zekone/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zekone/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ji-just-ji/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ji-just-ji/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ji-just-ji/ip.git (master) completed! -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator analyzeRepos -INFO: [372/480] Analyzing https://github.com/markgcera/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/markgcera/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:22 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/markgcera/ip.git (master)... -Sep 03, 2023 1:18:22 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jacobcuison/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jacobcuison/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jacobcuison/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [373/480] Analyzing https://github.com/zekone/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zekone/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zekone/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tyouwei/ip.git completed! -Sep 03, 2023 1:18:23 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Blizzeracz/ip.git completed! -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/markgcera/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/markgcera/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/markgcera/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [374/480] Analyzing https://github.com/PearlynnT/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator analyzeRepos +INFO: [373/480] Analyzing https://github.com/PearlynnT/ip.git (master)... +Sep 03, 2023 3:42:26 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/PearlynnT/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/PearlynnT/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zekone/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zekone/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zekone/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [375/480] Analyzing https://github.com/StevenLiudw/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/StevenLiudw/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/StevenLiudw/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zekone/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zekone/ip.git (master) completed! +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [374/480] Analyzing https://github.com/markgcera/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/PearlynnT/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/markgcera/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/markgcera/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/PearlynnT/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/PearlynnT/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [376/480] Analyzing https://github.com/mounilsankar/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mounilsankar/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mounilsankar/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [375/480] Analyzing https://github.com/StevenLiudw/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/StevenLiudw/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/StevenLiudw/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/markgcera/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/markgcera/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/markgcera/ip.git (master) completed! +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [376/480] Analyzing https://github.com/TeeRenJing/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TeeRenJing/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TeeRenJing/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/StevenLiudw/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/StevenLiudw/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/StevenLiudw/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [377/480] Analyzing https://github.com/TeeRenJing/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TeeRenJing/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TeeRenJing/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/mounilsankar/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/mounilsankar/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/mounilsankar/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [378/480] Analyzing https://github.com/dloh2236/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dloh2236/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:23 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dloh2236/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [377/480] Analyzing https://github.com/mounilsankar/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mounilsankar/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mounilsankar/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TeeRenJing/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TeeRenJing/ip.git (master)... -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TeeRenJing/ip.git (master) completed! -Sep 03, 2023 1:18:23 AM reposense.report.ReportGenerator analyzeRepos -INFO: [379/480] Analyzing https://github.com/zannloo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zannloo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zannloo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [378/480] Analyzing https://github.com/dloh2236/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dloh2236/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dloh2236/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/mounilsankar/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dloh2236/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/mounilsankar/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/mounilsankar/ip.git (master) completed! +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [379/480] Analyzing https://github.com/zannloo/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dloh2236/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dloh2236/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [380/480] Analyzing https://github.com/freshcabbage123/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/freshcabbage123/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/freshcabbage123/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zannloo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zannloo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zannloo/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [381/480] Analyzing https://github.com/junnengsoo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [380/480] Analyzing https://github.com/junnengsoo/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zannloo/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zannloo/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/junnengsoo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/junnengsoo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/freshcabbage123/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/freshcabbage123/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/freshcabbage123/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [382/480] Analyzing https://github.com/itsNatTan/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/itsNatTan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/itsNatTan/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/junnengsoo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zannloo/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/junnengsoo/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/junnengsoo/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [383/480] Analyzing https://github.com/Kokseng1/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [381/480] Analyzing https://github.com/freshcabbage123/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zannloo/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zannloo/ip.git (master) completed! +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator analyzeRepos +INFO: [382/480] Analyzing https://github.com/Kokseng1/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/freshcabbage123/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/freshcabbage123/ip.git (master)... +Sep 03, 2023 3:42:27 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kokseng1/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kokseng1/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/itsNatTan/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/itsNatTan/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/itsNatTan/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [384/480] Analyzing https://github.com/ZD292/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ZD292/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ZD292/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kokseng1/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kokseng1/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kokseng1/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [385/480] Analyzing https://github.com/tjingsheng/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [383/480] Analyzing https://github.com/itsNatTan/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/itsNatTan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/itsNatTan/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/freshcabbage123/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/freshcabbage123/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/freshcabbage123/ip.git (master) completed! +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [384/480] Analyzing https://github.com/tjingsheng/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tjingsheng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tjingsheng/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ZD292/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ZD292/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ZD292/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [386/480] Analyzing https://github.com/alientian/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/alientian/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/alientian/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tjingsheng/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/itsNatTan/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tjingsheng/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tjingsheng/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [387/480] Analyzing https://github.com/frrrrry/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/frrrrry/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:24 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/frrrrry/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [385/480] Analyzing https://github.com/alientian/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/itsNatTan/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/itsNatTan/ip.git (master) completed! +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [386/480] Analyzing https://github.com/ZD292/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/alientian/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/alientian/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ZD292/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ZD292/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ZD292/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ZD292/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ZD292/ip.git (master) completed! +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [387/480] Analyzing https://github.com/wanghejin/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wanghejin/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wanghejin/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alientian/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alientian/ip.git (master)... -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alientian/ip.git (master) completed! -Sep 03, 2023 1:18:24 AM reposense.report.ReportGenerator analyzeRepos -INFO: [388/480] Analyzing https://github.com/wanghejin/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wanghejin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wanghejin/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [388/480] Analyzing https://github.com/frrrrry/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/frrrrry/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/frrrrry/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wanghejin/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wanghejin/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wanghejin/ip.git (master) completed! +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [389/480] Analyzing https://github.com/SungMatt/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SungMatt/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SungMatt/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/frrrrry/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/frrrrry/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/frrrrry/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [389/480] Analyzing https://github.com/MagnificentCreature/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [390/480] Analyzing https://github.com/MagnificentCreature/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SungMatt/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/MagnificentCreature/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/MagnificentCreature/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wanghejin/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wanghejin/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wanghejin/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [390/480] Analyzing https://github.com/andrefoo/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SungMatt/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SungMatt/ip.git (master) completed! +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [391/480] Analyzing https://github.com/andrefoo/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/andrefoo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/andrefoo/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/andrefoo/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/andrefoo/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/andrefoo/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [391/480] Analyzing https://github.com/XihuaZ/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator analyzeRepos +INFO: [392/480] Analyzing https://github.com/XihuaZ/ip.git (master)... +Sep 03, 2023 3:42:28 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/XihuaZ/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/XihuaZ/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/MagnificentCreature/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/MagnificentCreature/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/MagnificentCreature/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos -INFO: [392/480] Analyzing https://github.com/SungMatt/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SungMatt/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SungMatt/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/XihuaZ/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/XihuaZ/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/XihuaZ/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos INFO: [393/480] Analyzing https://github.com/tohpinren/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tohpinren/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tohpinren/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SungMatt/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SungMatt/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SungMatt/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/XihuaZ/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/XihuaZ/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/XihuaZ/ip.git (master) completed! +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos INFO: [394/480] Analyzing https://github.com/xavierpok/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xavierpok/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xavierpok/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tohpinren/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tohpinren/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tohpinren/ip.git (master) completed! -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos INFO: [395/480] Analyzing https://github.com/bkjwjason/ip.git (master)... -Sep 03, 2023 1:18:25 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/bkjwjason/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:25 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/bkjwjason/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/bkjwjason/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/bkjwjason/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/bkjwjason/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [396/480] Analyzing https://github.com/aarontxz/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [396/480] Analyzing https://github.com/jianyangg/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jianyangg/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jianyangg/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xavierpok/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aarontxz/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aarontxz/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xavierpok/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xavierpok/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos INFO: [397/480] Analyzing https://github.com/Choonyan02/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aarontxz/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Choonyan02/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Choonyan02/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aarontxz/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aarontxz/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [398/480] Analyzing https://github.com/jianyangg/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jianyangg/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jianyangg/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Choonyan02/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Choonyan02/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Choonyan02/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [399/480] Analyzing https://github.com/tayian/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tayian/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tayian/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jianyangg/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jianyangg/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jianyangg/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [398/480] Analyzing https://github.com/aarontxz/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aarontxz/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aarontxz/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Choonyan02/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Choonyan02/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Choonyan02/ip.git (master) completed! +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [399/480] Analyzing https://github.com/Jweewee/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aarontxz/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Jweewee/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Jweewee/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aarontxz/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aarontxz/ip.git (master) completed! +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos INFO: [400/480] Analyzing https://github.com/wnchan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wnchan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wnchan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tayian/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tayian/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tayian/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [401/480] Analyzing https://github.com/Jweewee/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Jweewee/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Jweewee/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wnchan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Jweewee/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wnchan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wnchan/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [402/480] Analyzing https://github.com/CelestineTan03/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/CelestineTan03/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/CelestineTan03/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Jweewee/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Jweewee/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [401/480] Analyzing https://github.com/tayian/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Jweewee/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [403/480] Analyzing https://github.com/cyaoxuan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [402/480] Analyzing https://github.com/cyaoxuan/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tayian/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tayian/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cyaoxuan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cyaoxuan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tayian/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tayian/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tayian/ip.git (master) completed! +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [403/480] Analyzing https://github.com/anthonytamzil/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cyaoxuan/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/anthonytamzil/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/anthonytamzil/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cyaoxuan/ip.git (master)... +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cyaoxuan/ip.git (master) completed! +Sep 03, 2023 3:42:29 AM reposense.report.ReportGenerator analyzeRepos +INFO: [404/480] Analyzing https://github.com/CelestineTan03/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/CelestineTan03/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/CelestineTan03/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CelestineTan03/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CelestineTan03/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CelestineTan03/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [404/480] Analyzing https://github.com/saltedfishxx/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [405/480] Analyzing https://github.com/saltedfishxx/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/anthonytamzil/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/saltedfishxx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/saltedfishxx/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cyaoxuan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cyaoxuan/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cyaoxuan/ip.git (master) completed! -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator analyzeRepos -INFO: [405/480] Analyzing https://github.com/anthonytamzil/ip.git (master)... -Sep 03, 2023 1:18:26 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/anthonytamzil/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/anthonytamzil/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/anthonytamzil/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/anthonytamzil/ip.git (master) completed! +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [406/480] Analyzing https://github.com/euchangxian/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/euchangxian/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/euchangxian/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/saltedfishxx/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/saltedfishxx/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/saltedfishxx/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [406/480] Analyzing https://github.com/AlagappanRa/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [407/480] Analyzing https://github.com/AlagappanRa/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AlagappanRa/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AlagappanRa/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/anthonytamzil/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/anthonytamzil/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/anthonytamzil/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [407/480] Analyzing https://github.com/felibunnyy/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/felibunnyy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/felibunnyy/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/euchangxian/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/euchangxian/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/euchangxian/ip.git (master) completed! +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [408/480] Analyzing https://github.com/Ken-Lai/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlagappanRa/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/felibunnyy/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlagappanRa/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlagappanRa/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [408/480] Analyzing https://github.com/euchangxian/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/felibunnyy/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/felibunnyy/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [409/480] Analyzing https://github.com/Ken-Lai/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/euchangxian/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/euchangxian/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Ken-Lai/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Ken-Lai/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Ken-Lai/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Ken-Lai/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Ken-Lai/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [409/480] Analyzing https://github.com/felibunnyy/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/felibunnyy/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/felibunnyy/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/felibunnyy/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/felibunnyy/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/felibunnyy/ip.git (master) completed! +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos INFO: [410/480] Analyzing https://github.com/itssisi/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/itssisi/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/itssisi/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Ken-Lai/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Ken-Lai/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Ken-Lai/ip.git (master) completed! +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [411/480] Analyzing https://github.com/jamz903/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jamz903/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jamz903/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/itssisi/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/itssisi/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/itssisi/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [411/480] Analyzing https://github.com/Kevin-Liusx/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [412/480] Analyzing https://github.com/Kevin-Liusx/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kevin-Liusx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kevin-Liusx/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/euchangxian/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/euchangxian/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/euchangxian/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [412/480] Analyzing https://github.com/jamz903/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jamz903/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jamz903/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jamz903/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jamz903/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jamz903/ip.git (master) completed! +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [413/480] Analyzing https://github.com/ChuanXinNg/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ChuanXinNg/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ChuanXinNg/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kevin-Liusx/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kevin-Liusx/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kevin-Liusx/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [413/480] Analyzing https://github.com/Propene-Dan/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [414/480] Analyzing https://github.com/Propene-Dan/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Propene-Dan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Propene-Dan/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Propene-Dan/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Propene-Dan/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Propene-Dan/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [414/480] Analyzing https://github.com/kenvynKwek/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jamz903/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator analyzeRepos +INFO: [415/480] Analyzing https://github.com/kenvynKwek/ip.git (master)... +Sep 03, 2023 3:42:30 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kenvynKwek/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kenvynKwek/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jamz903/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jamz903/ip.git (master) completed! -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator analyzeRepos -INFO: [415/480] Analyzing https://github.com/prawnzyy/ip.git (master)... -Sep 03, 2023 1:18:27 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/prawnzyy/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:27 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/prawnzyy/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kenvynKwek/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kenvynKwek/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kenvynKwek/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ChuanXinNg/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ChuanXinNg/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ChuanXinNg/ip.git (master) completed! +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos INFO: [416/480] Analyzing https://github.com/Ruizhi2001/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Ruizhi2001/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Ruizhi2001/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/prawnzyy/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kenvynKwek/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kenvynKwek/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kenvynKwek/ip.git (master) completed! +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [417/480] Analyzing https://github.com/saraozn/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/saraozn/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/saraozn/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Ruizhi2001/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/prawnzyy/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/prawnzyy/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [417/480] Analyzing https://github.com/ChuanXinNg/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Ruizhi2001/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Ruizhi2001/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [418/480] Analyzing https://github.com/nicholastng010601/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ChuanXinNg/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ChuanXinNg/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [418/480] Analyzing https://github.com/prawnzyy/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/saraozn/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/prawnzyy/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/prawnzyy/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/saraozn/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/saraozn/ip.git (master) completed! +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [419/480] Analyzing https://github.com/nicholastng010601/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicholastng010601/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicholastng010601/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ChuanXinNg/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ChuanXinNg/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/prawnzyy/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicholastng010601/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ChuanXinNg/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [419/480] Analyzing https://github.com/DistractedCat/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/prawnzyy/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/prawnzyy/ip.git (master) completed! +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [420/480] Analyzing https://github.com/DistractedCat/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicholastng010601/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicholastng010601/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [421/480] Analyzing https://github.com/yezkez10/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/DistractedCat/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/DistractedCat/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [420/480] Analyzing https://github.com/yezkez10/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yezkez10/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yezkez10/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yezkez10/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yezkez10/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yezkez10/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos -INFO: [421/480] Analyzing https://github.com/saraozn/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/saraozn/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/saraozn/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/DistractedCat/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/DistractedCat/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/DistractedCat/ip.git (master) completed! -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos INFO: [422/480] Analyzing https://github.com/revdrag/ip.git (master)... -Sep 03, 2023 1:18:28 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/revdrag/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:28 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/revdrag/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/saraozn/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/saraozn/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/saraozn/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [423/480] Analyzing https://github.com/billieboy7/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/billieboy7/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/billieboy7/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/DistractedCat/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/DistractedCat/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/DistractedCat/ip.git (master) completed! +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [423/480] Analyzing https://github.com/alvinlim277/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/alvinlim277/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/alvinlim277/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/revdrag/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/revdrag/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/revdrag/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [424/480] Analyzing https://github.com/alvinlim277/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/alvinlim277/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/alvinlim277/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/billieboy7/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/billieboy7/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/billieboy7/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [425/480] Analyzing https://github.com/JasonRay168/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JasonRay168/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JasonRay168/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator analyzeRepos +INFO: [424/480] Analyzing https://github.com/billieboy7/ip.git (master)... +Sep 03, 2023 3:42:31 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/billieboy7/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/billieboy7/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alvinlim277/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alvinlim277/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/billieboy7/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alvinlim277/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [426/480] Analyzing https://github.com/jannnice/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [425/480] Analyzing https://github.com/jannnice/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/billieboy7/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/billieboy7/ip.git (master) completed! +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [426/480] Analyzing https://github.com/JasonRay168/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jannnice/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jannnice/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JasonRay168/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JasonRay168/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JasonRay168/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [427/480] Analyzing https://github.com/dinde2004/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dinde2004/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dinde2004/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JasonRay168/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JasonRay168/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jannnice/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jannnice/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dinde2004/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jannnice/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [428/480] Analyzing https://github.com/evanyan13/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dinde2004/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dinde2004/ip.git (master) completed! -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator analyzeRepos -INFO: [429/480] Analyzing https://github.com/samuelim01/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [427/480] Analyzing https://github.com/evanyan13/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/evanyan13/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/evanyan13/ip.git (master)... -Sep 03, 2023 1:18:29 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JasonRay168/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JasonRay168/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JasonRay168/ip.git (master) completed! +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [428/480] Analyzing https://github.com/samuelim01/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/samuelim01/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:29 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/samuelim01/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/evanyan13/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/samuelim01/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/evanyan13/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/evanyan13/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [429/480] Analyzing https://github.com/dinde2004/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dinde2004/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dinde2004/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/samuelim01/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dinde2004/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/samuelim01/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/samuelim01/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [430/480] Analyzing https://github.com/KumChaiYin/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [431/480] Analyzing https://github.com/Sasmik23/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [430/480] Analyzing https://github.com/seanpzk/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dinde2004/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dinde2004/ip.git (master) completed! +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [431/480] Analyzing https://github.com/KumChaiYin/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seanpzk/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seanpzk/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/KumChaiYin/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/KumChaiYin/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Sasmik23/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Sasmik23/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Sasmik23/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Sasmik23/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Sasmik23/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/seanpzk/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/seanpzk/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/seanpzk/ip.git (master) completed! +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos INFO: [432/480] Analyzing https://github.com/lsyurea/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lsyurea/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lsyurea/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KumChaiYin/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KumChaiYin/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KumChaiYin/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [433/480] Analyzing https://github.com/geraldngjx/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/geraldngjx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/geraldngjx/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepos +INFO: [433/480] Analyzing https://github.com/Sasmik23/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Sasmik23/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Sasmik23/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lsyurea/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Sasmik23/ip.git (master)... +Sep 03, 2023 3:42:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lsyurea/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:32 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lsyurea/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [434/480] Analyzing https://github.com/garylow2001/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/garylow2001/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/garylow2001/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/geraldngjx/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/geraldngjx/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/geraldngjx/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [434/480] Analyzing https://github.com/geraldngjx/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Sasmik23/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Sasmik23/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/geraldngjx/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/geraldngjx/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [435/480] Analyzing https://github.com/lululwtv/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lululwtv/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lululwtv/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/garylow2001/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/garylow2001/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/garylow2001/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos -INFO: [436/480] Analyzing https://github.com/seanpzk/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seanpzk/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seanpzk/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lululwtv/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/geraldngjx/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lululwtv/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/geraldngjx/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lululwtv/ip.git (master) completed! -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/geraldngjx/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [436/480] Analyzing https://github.com/garylow2001/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [437/480] Analyzing https://github.com/leontan2/ip.git (master)... -Sep 03, 2023 1:18:30 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/garylow2001/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/garylow2001/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leontan2/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:30 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leontan2/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/seanpzk/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/seanpzk/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/seanpzk/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/garylow2001/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/garylow2001/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/garylow2001/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [438/480] Analyzing https://github.com/wamps-jp/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wamps-jp/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wamps-jp/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/leontan2/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/leontan2/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/leontan2/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wamps-jp/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wamps-jp/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wamps-jp/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [439/480] Analyzing https://github.com/dickongwd/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/leontan2/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wamps-jp/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [440/480] Analyzing https://github.com/suryanshkushwaha/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/suryanshkushwaha/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/suryanshkushwaha/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dickongwd/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dickongwd/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/leontan2/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/leontan2/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [440/480] Analyzing https://github.com/jacksonyuan256/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jacksonyuan256/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jacksonyuan256/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jacksonyuan256/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jacksonyuan256/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jacksonyuan256/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [441/480] Analyzing https://github.com/suryanshkushwaha/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/suryanshkushwaha/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dickongwd/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/suryanshkushwaha/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/suryanshkushwaha/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/suryanshkushwaha/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dickongwd/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/suryanshkushwaha/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dickongwd/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [441/480] Analyzing https://github.com/jacksonyuan256/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos INFO: [442/480] Analyzing https://github.com/wr1159/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wr1159/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wr1159/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/suryanshkushwaha/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/suryanshkushwaha/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/suryanshkushwaha/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [443/480] Analyzing https://github.com/Nauxe/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jacksonyuan256/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jacksonyuan256/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jacksonyuan256/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jacksonyuan256/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jacksonyuan256/ip.git (master) completed! +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wr1159/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Nauxe/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Nauxe/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [443/480] Analyzing https://github.com/Nauxe/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wr1159/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wr1159/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [444/480] Analyzing https://github.com/yyyaohhh/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yyyaohhh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yyyaohhh/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Nauxe/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Nauxe/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [444/480] Analyzing https://github.com/zhanyang01/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhanyang01/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhanyang01/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Nauxe/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Nauxe/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Nauxe/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [445/480] Analyzing https://github.com/zhanyang01/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yyyaohhh/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhanyang01/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhanyang01/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yyyaohhh/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yyyaohhh/ip.git (master) completed! -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator analyzeRepos -INFO: [446/480] Analyzing https://github.com/czhiruo/ip.git (master)... -Sep 03, 2023 1:18:31 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator analyzeRepos +INFO: [445/480] Analyzing https://github.com/czhiruo/ip.git (master)... +Sep 03, 2023 3:42:33 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/czhiruo/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/czhiruo/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/czhiruo/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zhanyang01/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhanyang01/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhanyang01/ip.git (master) completed! +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [446/480] Analyzing https://github.com/yyyaohhh/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yyyaohhh/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yyyaohhh/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/czhiruo/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/czhiruo/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/czhiruo/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [447/480] Analyzing https://github.com/victorpengmx/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhanyang01/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhanyang01/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos -INFO: [448/480] Analyzing https://github.com/longnguyentan/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/victorpengmx/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/victorpengmx/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yyyaohhh/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yyyaohhh/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yyyaohhh/ip.git (master) completed! +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [448/480] Analyzing https://github.com/longnguyentan/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/longnguyentan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/longnguyentan/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/longnguyentan/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/longnguyentan/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/victorpengmx/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/longnguyentan/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos -INFO: [449/480] Analyzing https://github.com/Eola-Z/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/victorpengmx/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/victorpengmx/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos +INFO: [449/480] Analyzing https://github.com/Eola-Z/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/longnguyentan/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Eola-Z/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Eola-Z/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/longnguyentan/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/longnguyentan/ip.git (master) completed! +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [450/480] Analyzing https://github.com/Cikguseven/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Cikguseven/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Cikguseven/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Eola-Z/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Eola-Z/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Eola-Z/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [451/480] Analyzing https://github.com/jibtaf/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jibtaf/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jibtaf/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Cikguseven/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Cikguseven/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Cikguseven/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [452/480] Analyzing https://github.com/lipwei1808/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jibtaf/ip.git (master)... +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lipwei1808/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lipwei1808/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jibtaf/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jibtaf/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jibtaf/ip.git (master) completed! -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator analyzeRepos INFO: [453/480] Analyzing https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 03, 2023 1:18:32 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:34 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Mohammed-Faizzzz/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:32 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Mohammed-Faizzzz/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [454/480] Analyzing https://github.com/dylkaw/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dylkaw/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dylkaw/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [454/480] Analyzing https://github.com/nikele2001/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nikele2001/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nikele2001/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lipwei1808/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lipwei1808/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lipwei1808/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [455/480] Analyzing https://github.com/nikele2001/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nikele2001/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nikele2001/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [455/480] Analyzing https://github.com/dylkaw/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dylkaw/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dylkaw/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dylkaw/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dylkaw/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dylkaw/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos INFO: [456/480] Analyzing https://github.com/DeltonCheng/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nikele2001/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/DeltonCheng/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/DeltonCheng/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nikele2001/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/DeltonCheng/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/DeltonCheng/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/DeltonCheng/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nikele2001/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nikele2001/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos INFO: [457/480] Analyzing https://github.com/ChangruHenryQian/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [458/480] Analyzing https://github.com/ruo-x/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ChangruHenryQian/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ChangruHenryQian/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruo-x/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruo-x/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ChangruHenryQian/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ChangruHenryQian/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ChangruHenryQian/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [459/480] Analyzing https://github.com/iantsaii/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/iantsaii/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/iantsaii/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [458/480] Analyzing https://github.com/craigtonlian/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/DeltonCheng/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/craigtonlian/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/craigtonlian/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/DeltonCheng/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/DeltonCheng/ip.git (master) completed! +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [459/480] Analyzing https://github.com/ruo-x/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruo-x/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruo-x/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ruo-x/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/craigtonlian/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ruo-x/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ruo-x/ip.git (master) completed! -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator analyzeRepos -INFO: [460/480] Analyzing https://github.com/wjacobw/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [460/480] Analyzing https://github.com/iantsaii/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/craigtonlian/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/craigtonlian/ip.git (master) completed! +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/iantsaii/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/iantsaii/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [461/480] Analyzing https://github.com/wjacobw/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wjacobw/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:33 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wjacobw/ip.git (master)... -Sep 03, 2023 1:18:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/iantsaii/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/iantsaii/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/iantsaii/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wjacobw/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [461/480] Analyzing https://github.com/angkyakdifp/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wjacobw/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wjacobw/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [462/480] Analyzing https://github.com/brein62/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [462/480] Analyzing https://github.com/angkyakdifp/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/angkyakdifp/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/angkyakdifp/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/iantsaii/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/iantsaii/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/iantsaii/ip.git (master) completed! +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator analyzeRepos +INFO: [463/480] Analyzing https://github.com/brein62/ip.git (master)... +Sep 03, 2023 3:42:35 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/brein62/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/brein62/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/angkyakdifp/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/angkyakdifp/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/angkyakdifp/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [463/480] Analyzing https://github.com/nicrandomlee/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [464/480] Analyzing https://github.com/nicrandomlee/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicrandomlee/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicrandomlee/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/brein62/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/brein62/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/brein62/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [464/480] Analyzing https://github.com/Bryan-Goh/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bryan-Goh/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bryan-Goh/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicrandomlee/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicrandomlee/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicrandomlee/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [465/480] Analyzing https://github.com/kiatkat/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kiatkat/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kiatkat/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kiatkat/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kiatkat/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kiatkat/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [466/480] Analyzing https://github.com/craigtonlian/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/craigtonlian/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/craigtonlian/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [465/480] Analyzing https://github.com/Bryan-Goh/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bryan-Goh/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bryan-Goh/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/brein62/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/brein62/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/brein62/ip.git (master) completed! +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [466/480] Analyzing https://github.com/MadLamprey/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/MadLamprey/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/MadLamprey/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Bryan-Goh/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Bryan-Goh/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Bryan-Goh/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [467/480] Analyzing https://github.com/MadLamprey/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/MadLamprey/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:34 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/MadLamprey/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/craigtonlian/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/craigtonlian/ip.git (master)... -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/craigtonlian/ip.git (master) completed! -Sep 03, 2023 1:18:34 AM reposense.report.ReportGenerator analyzeRepos -INFO: [468/480] Analyzing https://github.com/jiakai-17/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jiakai-17/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jiakai-17/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [467/480] Analyzing https://github.com/kiatkat/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kiatkat/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kiatkat/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/MadLamprey/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/MadLamprey/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/MadLamprey/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [469/480] Analyzing https://github.com/xyT-T/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [468/480] Analyzing https://github.com/xyT-T/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xyT-T/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xyT-T/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kiatkat/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kiatkat/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kiatkat/ip.git (master) completed! +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [469/480] Analyzing https://github.com/jiakai-17/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jiakai-17/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jiakai-17/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xyT-T/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xyT-T/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xyT-T/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos INFO: [470/480] Analyzing https://github.com/nreHieW/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nreHieW/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nreHieW/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jiakai-17/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jiakai-17/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jiakai-17/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [471/480] Analyzing https://github.com/nathanielcalimag/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nathanielcalimag/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nathanielcalimag/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nreHieW/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nreHieW/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nreHieW/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [472/480] Analyzing https://github.com/jellywaiyan/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jellywaiyan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jellywaiyan/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [471/480] Analyzing https://github.com/nathanielcalimag/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jiakai-17/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nathanielcalimag/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nathanielcalimag/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jiakai-17/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jiakai-17/ip.git (master) completed! +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator analyzeRepos +INFO: [472/480] Analyzing https://github.com/Saezenn/ip.git (master)... +Sep 03, 2023 3:42:36 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Saezenn/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Saezenn/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Saezenn/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Saezenn/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Saezenn/ip.git (master) completed! +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nathanielcalimag/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [473/480] Analyzing https://github.com/jellywaiyan/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nathanielcalimag/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jellywaiyan/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jellywaiyan/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nathanielcalimag/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [473/480] Analyzing https://github.com/Saezenn/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Saezenn/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Saezenn/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jellywaiyan/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jellywaiyan/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jellywaiyan/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos INFO: [474/480] Analyzing https://github.com/marquestye/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/marquestye/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/marquestye/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Saezenn/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Saezenn/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Saezenn/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [475/480] Analyzing https://github.com/Sebtey/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Sebtey/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Sebtey/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/marquestye/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/marquestye/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/marquestye/ip.git (master) completed! -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator analyzeRepos -INFO: [476/480] Analyzing https://github.com/Tang-Moyan/ip.git (master)... -Sep 03, 2023 1:18:35 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jellywaiyan/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jellywaiyan/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jellywaiyan/ip.git (master) completed! +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [475/480] Analyzing https://github.com/Tang-Moyan/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Tang-Moyan/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:35 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Tang-Moyan/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Sebtey/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Sebtey/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Sebtey/ip.git (master) completed! -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepos -INFO: [477/480] Analyzing https://github.com/DonovanJJ/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Tang-Moyan/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/DonovanJJ/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/DonovanJJ/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Tang-Moyan/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Tang-Moyan/ip.git (master) completed! -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepos -INFO: [478/480] Analyzing https://github.com/rionshocker/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/rionshocker/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/rionshocker/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [476/480] Analyzing https://github.com/DonovanJJ/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/DonovanJJ/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/DonovanJJ/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/marquestye/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/marquestye/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/marquestye/ip.git (master) completed! +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [477/480] Analyzing https://github.com/Sebtey/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Sebtey/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Sebtey/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/DonovanJJ/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/DonovanJJ/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/DonovanJJ/ip.git (master) completed! -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos +INFO: [478/480] Analyzing https://github.com/rionshocker/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/rionshocker/ip.git (master) does not contain a standalone config file. +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/rionshocker/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Sebtey/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Sebtey/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Sebtey/ip.git (master) completed! +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos INFO: [479/480] Analyzing https://github.com/tyouwei/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tyouwei/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tyouwei/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rionshocker/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rionshocker/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rionshocker/ip.git (master) completed! -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepos +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepos INFO: [480/480] Analyzing https://github.com/Blizzeracz/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator updateRepoConfig +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Blizzeracz/ip.git (master) does not contain a standalone config file. -Sep 03, 2023 1:18:36 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 03, 2023 3:42:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Blizzeracz/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tyouwei/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tyouwei/ip.git (master)... +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tyouwei/ip.git (master) completed! +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Blizzeracz/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 03, 2023 3:42:37 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Blizzeracz/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tyouwei/ip.git (master)... -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepo +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Blizzeracz/ip.git (master) completed! -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tyouwei/ip.git (master) completed! -Sep 03, 2023 1:18:36 AM reposense.report.ReportGenerator generateReposReport +Sep 03, 2023 3:42:37 AM reposense.report.ReportGenerator generateReposReport INFO: The report is generated at /home/runner/work/ip-dashboard/ip-dashboard/reposense-report -Sep 03, 2023 1:18:37 AM reposense.RepoSense main -INFO: Elapsed processing time: 1 minute(s) 48.25 second(s) +Sep 03, 2023 3:42:39 AM reposense.RepoSense main +INFO: Elapsed processing time: 1 minute(s) 27.99 second(s) diff --git a/summary.json b/summary.json index 5ea93012..6f834ba4 100644 --- a/summary.json +++ b/summary.json @@ -1 +1 @@ -{"repoSenseVersion":"3bad16bb3d","reportGeneratedTime":"Sun Sep 3 09:16:51 2023 UTC+08:00","reportGenerationTime":" 1 minute(s) 46.88 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/felibunnyy/ip.git","repoName":"ip","organization":"felibunnyy","domainName":"github"},"branch":"master","displayName":"felibunnyy/ip[master]","outputFolderName":"felibunnyy_ip_master"},{"location":{"location":"https://github.com/starrylight99/ip.git","repoName":"ip","organization":"starrylight99","domainName":"github"},"branch":"master","displayName":"starrylight99/ip[master]","outputFolderName":"starrylight99_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/LuahJunYang/ip.git","repoName":"ip","organization":"LuahJunYang","domainName":"github"},"branch":"master","displayName":"LuahJunYang/ip[master]","outputFolderName":"LuahJunYang_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/Cloud7050/ip.git","repoName":"ip","organization":"Cloud7050","domainName":"github"},"branch":"master","displayName":"Cloud7050/ip[master]","outputFolderName":"Cloud7050_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/Angelyxx/ip.git","repoName":"ip","organization":"Angelyxx","domainName":"github"},"branch":"master","displayName":"Angelyxx/ip[master]","outputFolderName":"Angelyxx_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/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/papataco14/ip.git","repoName":"ip","organization":"papataco14","domainName":"github"},"branch":"master","displayName":"papataco14/ip[master]","outputFolderName":"papataco14_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/Propene-Dan/ip.git","repoName":"ip","organization":"Propene-Dan","domainName":"github"},"branch":"master","displayName":"Propene-Dan/ip[master]","outputFolderName":"Propene-Dan_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":[],"sinceDate":"2023-08-18","untilDate":"2023-09-03","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":"3bad16bb3d","reportGeneratedTime":"Sun Sep 3 11:41:12 2023 UTC+08:00","reportGenerationTime":" 1 minute(s) 26.79 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/felibunnyy/ip.git","repoName":"ip","organization":"felibunnyy","domainName":"github"},"branch":"master","displayName":"felibunnyy/ip[master]","outputFolderName":"felibunnyy_ip_master"},{"location":{"location":"https://github.com/starrylight99/ip.git","repoName":"ip","organization":"starrylight99","domainName":"github"},"branch":"master","displayName":"starrylight99/ip[master]","outputFolderName":"starrylight99_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/LuahJunYang/ip.git","repoName":"ip","organization":"LuahJunYang","domainName":"github"},"branch":"master","displayName":"LuahJunYang/ip[master]","outputFolderName":"LuahJunYang_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/Cloud7050/ip.git","repoName":"ip","organization":"Cloud7050","domainName":"github"},"branch":"master","displayName":"Cloud7050/ip[master]","outputFolderName":"Cloud7050_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/Angelyxx/ip.git","repoName":"ip","organization":"Angelyxx","domainName":"github"},"branch":"master","displayName":"Angelyxx/ip[master]","outputFolderName":"Angelyxx_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/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/papataco14/ip.git","repoName":"ip","organization":"papataco14","domainName":"github"},"branch":"master","displayName":"papataco14/ip[master]","outputFolderName":"papataco14_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/Propene-Dan/ip.git","repoName":"ip","organization":"Propene-Dan","domainName":"github"},"branch":"master","displayName":"Propene-Dan/ip[master]","outputFolderName":"Propene-Dan_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":[],"sinceDate":"2023-08-18","untilDate":"2023-09-03","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/tiif_ip_master/authorship.json b/tiif_ip_master/authorship.json index 281ed4dc..c068d448 100644 --- a/tiif_ip_master/authorship.json +++ b/tiif_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" protected String by;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" //assume user always input date first, only consider with or without time","lastModifiedDate":"2023-08-29"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" String parsed_by[] \u003d by.split(\"\\\\s+\");","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" String byDate \u003d LocalDate.parse(parsed_by[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" this.by \u003d parsed_by.length \u003e 1 ? byDate + \" \" + parsed_by[1] : byDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" String first \u003d \"[D]\" + \"[\" + this.getStatusIcon() + \"] \" + this.description + \" \";","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" String second \u003d \"(by: \" + this.by + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" return first + second;","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" return \"D | \" + status + \" | \" + this.description + \"| \" + this.by;","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"tiif":28}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.io.InputStreamReader;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import duke.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import duke.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"import duke.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" private Parser parser;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" private Storage storage;","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" private TaskList tasks;","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" private Ui ui;","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" public static void main(String[] args) throws IOException {","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" new Duke(\"./data/duke.txt\").run();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" ui \u003d new Ui();","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" parser \u003d new Parser();","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" tasks \u003d new TaskList(storage.load());","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" ui.showLoadingError(e.getMessage());","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" public void run() throws IOException{","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" ui.welcomeMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" while (!isExit) {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" BufferedReader bf \u003d new BufferedReader(new InputStreamReader(System.in));","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" String str \u003d bf.readLine();","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" String command \u003d parser.parseCommand(str);","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" //regex detect all space","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" if (command.equals(\"list\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" ui.printTaskList(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"mark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" int index \u003d parser.parseToIndex();","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" ui.printMark(curr, index);","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"unmark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" int index \u003d parser.parseToIndex();","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" curr.markAsNotDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" ui.printUnmark(curr, index);","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"bye\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" ui.goodbyeMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" isExit \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"todo\") || command.equals(\"deadline\") || command.equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" Task curr \u003d parser.parseToTask();","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" if (curr \u003d\u003d null) {","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-08-23"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" tasks.addTask(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" ui.printAddTask(curr, tasks.size());","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"delete\")){","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" int index \u003d parser.parseToIndex();","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" tasks.deleteTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" ui.printDelete(curr, tasks.size());","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" //nothing found","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" System.out.println(\"OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-23"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":81,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"tiif":78,"-":3}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":" public DukeException(String message, Throwable e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":" super(message, e);","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":5}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.util.Date;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" protected String from;","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" protected String to;","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" public Event (String description, String from, String to) {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" //no extra information for todolist","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" String parsed_from[] \u003d from.split(\"\\\\s+\");","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" String parsed_to[] \u003d to.split(\"\\\\s+\");","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" //assume that date is always entered first","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" //only consider with or without time","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" String fromDate \u003d LocalDate.parse(parsed_from[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" String toDate \u003d LocalDate.parse(parsed_to[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" this.from \u003d parsed_from.length \u003e 1 ? fromDate + \" \" + parsed_from[1] : fromDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" this.to \u003d parsed_to.length \u003e 1 ? toDate+ \" \" + parsed_to[1] : toDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" String first \u003d \"[E]\" + \"[\" + this.getStatusIcon() + \"] \" + this.description + \" \";","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" String second \u003d \"(from: \" + this.from + \" to: \" + this.to + \")\";","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" return first + second;","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-08-29"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-08-29"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" return \"E | \" + status + \" | \" + this.description + \"| \" + this.from + \"| \" + this.to;","lastModifiedDate":"2023-08-29"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"tiif":33}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"public class Parser {","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":" //return \"\" to continue without action, any other command to fit","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":" private String command;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" private String[] parsedStr;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" public String parseCommand(String fullCommmand) {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" String parsed_str[] \u003d fullCommmand.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" this.parsedStr \u003d parsed_str;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" if (parsed_str[0].equals(\"list\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003e 1) {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" System.out.println(\"Do not input another argument beside list\");","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" this.command \u003d \"list\";","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" return \"list\";","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"mark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the index of the task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" } else if (parsed_str.length \u003e 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" System.out.println(\"Extra argument detected!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" this.command \u003d \"mark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" return \"mark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"unmark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the index of the task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" } else if (parsed_str.length \u003e 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" System.out.println(\"Extra argument detected!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" this.command \u003d \"unmark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" return \"unmark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" } else if (fullCommmand.equals(\"bye\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" this.command \u003d \"bye\";","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" return \"bye\";","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" int size \u003d parsed_str.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" if (size \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" System.out.println(\"You do not specify the todo name\");","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" this.command \u003d \"todo\";","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" return \"todo\";","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" this.command \u003d \"deadline\";","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" return \"deadline\";","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" this.command \u003d \"event\";","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" return \"event\";","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"delete\")){","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" this.command \u003d \"delete\";","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" return \"delete\";","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" this.command \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" public int parseToIndex() {","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" if (command.equals(\"mark\") || command.equals(\"unmark\") || command.equals(\"delete\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" int index \u003d Integer.parseInt(parsedStr[1]) - 1;","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" return index;","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" System.out.println(\"invalid operation\");","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" return -1;","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" public Task parseToTask() {","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" if (this.command.equals(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" int size \u003d this.parsedStr.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" description +\u003d this.parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the todo task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" return new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" boolean reached \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" String by_date \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" int length \u003d parsedStr.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" if (parsedStr[i].equals(\"/by\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":" reached \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"tiif"},"content":" if (reached \u003d\u003d true) {","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"tiif"},"content":" by_date +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"tiif"},"content":" description +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the deadline task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"tiif"},"content":" } else if (by_date.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify when is the deadline\");","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"tiif"},"content":" return new Deadline(description, by_date);","lastModifiedDate":"2023-09-01"},{"lineNumber":109,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":110,"author":{"gitId":"tiif"},"content":" boolean reachFrom \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":111,"author":{"gitId":"tiif"},"content":" boolean reachTo \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":112,"author":{"gitId":"tiif"},"content":" String fromDate \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":113,"author":{"gitId":"tiif"},"content":" String toDate \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":114,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":115,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c parsedStr.length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":116,"author":{"gitId":"tiif"},"content":" if (parsedStr[i].equals(\"/from\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":117,"author":{"gitId":"tiif"},"content":" reachFrom \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":118,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":119,"author":{"gitId":"tiif"},"content":" } else if (parsedStr[i].equals(\"/to\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":120,"author":{"gitId":"tiif"},"content":" reachTo \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":121,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":122,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":123,"author":{"gitId":"tiif"},"content":" if (reachFrom \u003d\u003d true \u0026\u0026 reachTo \u003d\u003d false) {","lastModifiedDate":"2023-09-01"},{"lineNumber":124,"author":{"gitId":"tiif"},"content":" fromDate +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":125,"author":{"gitId":"tiif"},"content":" } else if (reachFrom \u003d\u003d false \u0026\u0026 reachTo \u003d\u003d false) {","lastModifiedDate":"2023-09-01"},{"lineNumber":126,"author":{"gitId":"tiif"},"content":" //part for description","lastModifiedDate":"2023-09-01"},{"lineNumber":127,"author":{"gitId":"tiif"},"content":" description +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":128,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":129,"author":{"gitId":"tiif"},"content":" toDate +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":130,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":131,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":132,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":133,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the event\");","lastModifiedDate":"2023-09-01"},{"lineNumber":134,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":135,"author":{"gitId":"tiif"},"content":" } else if (fromDate.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":136,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify start time\");","lastModifiedDate":"2023-09-01"},{"lineNumber":137,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":138,"author":{"gitId":"tiif"},"content":" } else if (toDate.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":139,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the end time\");","lastModifiedDate":"2023-09-01"},{"lineNumber":140,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":141,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":142,"author":{"gitId":"tiif"},"content":" return new Event(description, fromDate, toDate);","lastModifiedDate":"2023-09-01"},{"lineNumber":143,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":144,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":145,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":146,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":146}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import java.util.List;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"public class Storage {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" private String filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" //fix hard coded part later","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" /**read from file and return an array list of task","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" *","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" * @return array list of task","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" public ArrayList\u003cTask\u003e load() throws DukeException {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" //print error message if cannot load","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" //assume that all file path are ../data/duke.txt for now, change it later","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" //if anything happen to the path or to the file, just return a new ArrayList and continue, no exception printed","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" Path path \u003d Paths.get(\"..\", \"data\", \"duke.txt\");","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" ArrayList\u003cTask\u003e loadList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" if (Files.exists(path)) {","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" List\u003cString\u003e lines \u003d Files.readAllLines(path);","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" for (String line : lines) {","lastModifiedDate":"2023-08-29"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" String parsed_str[] \u003d line.split(\"\\\\s\\\\|\\\\s\");","lastModifiedDate":"2023-08-29"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" if (parsed_str[0].equals(\"T\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" int size \u003d parsed_str.length;","lastModifiedDate":"2023-08-29"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" Todo curr \u003d new Todo(description);","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-08-29"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"D\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" //reach the date","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" String by_date \u003d parsed_str[3];","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" Deadline curr \u003d new Deadline(description, by_date);","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"E\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-08-29"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" String fromDate \u003d parsed_str[3];","lastModifiedDate":"2023-08-29"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" String toDate \u003d parsed_str[4];","lastModifiedDate":"2023-08-29"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" Event curr \u003d new Event(description, fromDate, toDate);","lastModifiedDate":"2023-08-29"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" //if anything happen, just return a new one","lastModifiedDate":"2023-08-29"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" throw new DukeException(\"Error occured in loading\", e);","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-08-29"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" //if the file do not exist, just return a new array list","lastModifiedDate":"2023-08-29"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" return new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-08-29"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" return loadList;","lastModifiedDate":"2023-08-29"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" public void store(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" Path path \u003d Paths.get(\"..\", \"data\");","lastModifiedDate":"2023-08-29"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" if (Files.notExists(path)) {","lastModifiedDate":"2023-08-29"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" //if the directory not exist, create one instantly","lastModifiedDate":"2023-08-29"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" //duke.txt will be created automatically by default","lastModifiedDate":"2023-08-29"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-08-29"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" Files.createDirectories(path);","lastModifiedDate":"2023-08-29"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" System.out.println(\"Error occured in creating directory\");","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" try (FileWriter filewriter \u003d new FileWriter(this.filePath)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" //might need a fix for above, todo","lastModifiedDate":"2023-09-01"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" int size \u003d tasks.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" for (int i \u003d 0; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" filewriter.write(curr.stringInFile() + \"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":92,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":93,"author":{"gitId":"tiif"},"content":" System.out.println(\"Error occured in writing the file\");","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":96,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"tiif":96}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"public class Task {","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" protected String description;","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" public void markAsNotDone() {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-08-29"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" //will not be called","lastModifiedDate":"2023-08-29"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-08-29"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"tiif":35}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"public class TaskList {","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" ArrayList\u003cTask\u003e tasklist;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" public TaskList(ArrayList\u003cTask\u003e tasklist) {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" this.tasklist \u003d tasklist;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" public TaskList() {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" this.tasklist \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" public Task getTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" return this.tasklist.get(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" public void addTask (Task newtask) {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" this.tasklist.add(newtask);","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" public void deleteTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" this.tasklist.remove(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" public void markTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" this.tasklist.get(index).markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" public void unmarkTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" this.tasklist.get(index).markAsNotDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" public int size() {","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" return this.tasklist.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":35}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"public class Todo extends Task{","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":" //no extra information for todolist","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" return \"[T]\" + \"[\" + this.getStatusIcon() + \"] \" + super.description;","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" return \"T | \" + status + \" | \" + this.description;","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"tiif":17}},{"path":"src/main/java/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"public class Ui {","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" public void welcomeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" System.out.println(\"Hello! I\u0027m ChatBot\" + \"\\n\" + \"What can I do for you?\" + \"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" public void goodbyeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" public void printTaskList(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" int size \u003d tasks.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" for (int i \u003d 0; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" System.out.println((i + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" return ;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" public void printAddTask(Task curr, int taskSize) {","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" System.out.println(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" System.out.println(\"Now you have \" + taskSize + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" public void printDelete(Task curr, int taskSize) {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" System.out.println(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" System.out.println(\"Now you have \" + taskSize + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" public void printMark(Task curr, int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" System.out.println((index + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" public void printUnmark(Task curr, int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" System.out.println(\"Ok, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" System.out.println((index + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" public void showLoadingError(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":45}},{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" protected String by;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" protected String transformedDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" //assume user always input date first, only consider with or without time","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" this.by \u003d by;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" String parsed_by[] \u003d by.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" String byDate \u003d LocalDate.parse(parsed_by[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" this.transformedDate \u003d parsed_by.length \u003e 1 ? byDate + \" \" + parsed_by[1] : byDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" String first \u003d \"[D]\" + \"[\" + this.getStatusIcon() + \"] \" + this.description + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" String second \u003d \"(by: \" + this.transformedDate + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" return first + second;","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" return \"D | \" + status + \" | \" + this.description + \"| \" + this.by;","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":33}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" public DukeException(String message, Throwable e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" super(message, e);","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":7}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"public class Event extends Task{","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" protected String from;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" //transformed only for printing","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" protected String transfromedFrom;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" protected String to;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" protected String transformedTo;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" public Event (String description, String from, String to) {","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" //no extra information for todolist","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" this.from \u003d from;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" this.to \u003d to;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" String parsed_from[] \u003d from.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" String parsed_to[] \u003d to.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" //assume that date is always entered first","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" //only consider with or without time","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" String fromDate \u003d LocalDate.parse(parsed_from[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" String toDate \u003d LocalDate.parse(parsed_to[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" this.transfromedFrom\u003d parsed_from.length \u003e 1 ? fromDate + \" \" + parsed_from[1] : fromDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" this.transformedTo \u003d parsed_to.length \u003e 1 ? toDate+ \" \" + parsed_to[1] : toDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" String first \u003d \"[E]\" + \"[\" + this.getStatusIcon() + \"] \" + this.description + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" String second \u003d \"(from: \" + this.transfromedFrom + \" to: \" + this.transformedTo + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" return first + second;","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" return \"E | \" + status + \" | \" + this.description + \"| \" + this.from + \"| \" + this.to;","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":41}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import duke.Event;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"public class Parser {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" //return \"\" to continue without action, any other command to fit","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" private String command;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" private String[] parsedStr;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" public String parseCommand(String fullCommmand) {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" String parsed_str[] \u003d fullCommmand.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" this.parsedStr \u003d parsed_str;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" if (parsed_str[0].equals(\"list\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003e 1) {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" System.out.println(\"Do not input another argument beside list\");","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" this.command \u003d \"list\";","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" return \"list\";","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"mark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the index of the task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" } else if (parsed_str.length \u003e 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" System.out.println(\"Extra argument detected!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" this.command \u003d \"mark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" return \"mark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"unmark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the index of the task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" } else if (parsed_str.length \u003e 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" System.out.println(\"Extra argument detected!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" this.command \u003d \"unmark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" return \"unmark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" } else if (fullCommmand.equals(\"bye\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" this.command \u003d \"bye\";","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" return \"bye\";","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" int size \u003d parsed_str.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" if (size \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" System.out.println(\"You do not specify the todo name\");","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" this.command \u003d \"todo\";","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" return \"todo\";","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" this.command \u003d \"deadline\";","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" return \"deadline\";","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" this.command \u003d \"event\";","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" return \"event\";","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"delete\")){","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" this.command \u003d \"delete\";","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" return \"delete\";","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" this.command \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" public int parseToIndex() {","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" if (command.equals(\"mark\") || command.equals(\"unmark\") || command.equals(\"delete\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" int index \u003d Integer.parseInt(parsedStr[1]) - 1;","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" return index;","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" System.out.println(\"invalid operation\");","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" return -1;","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" public Task parseToTask() {","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" //rely on last method, last method must be called before this","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" if (this.command.equals(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" int size \u003d this.parsedStr.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" description +\u003d this.parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the todo task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"tiif"},"content":" return new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"tiif"},"content":" boolean reached \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"tiif"},"content":" String by_date \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"tiif"},"content":" int length \u003d parsedStr.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"tiif"},"content":" if (parsedStr[i].equals(\"/by\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"tiif"},"content":" reached \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"tiif"},"content":" if (reached \u003d\u003d true) {","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"tiif"},"content":" by_date +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"tiif"},"content":" description +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":109,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":110,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":111,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the deadline task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":112,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":113,"author":{"gitId":"tiif"},"content":" } else if (by_date.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":114,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify when is the deadline\");","lastModifiedDate":"2023-09-01"},{"lineNumber":115,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":116,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":117,"author":{"gitId":"tiif"},"content":" return new Deadline(description, by_date);","lastModifiedDate":"2023-09-01"},{"lineNumber":118,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":119,"author":{"gitId":"tiif"},"content":" boolean reachFrom \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":120,"author":{"gitId":"tiif"},"content":" boolean reachTo \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":121,"author":{"gitId":"tiif"},"content":" String fromDate \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":122,"author":{"gitId":"tiif"},"content":" String toDate \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":123,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":124,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c parsedStr.length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":125,"author":{"gitId":"tiif"},"content":" if (parsedStr[i].equals(\"/from\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":126,"author":{"gitId":"tiif"},"content":" reachFrom \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":127,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":128,"author":{"gitId":"tiif"},"content":" } else if (parsedStr[i].equals(\"/to\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":129,"author":{"gitId":"tiif"},"content":" reachTo \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":130,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":131,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":132,"author":{"gitId":"tiif"},"content":" if (reachFrom \u003d\u003d true \u0026\u0026 reachTo \u003d\u003d false) {","lastModifiedDate":"2023-09-01"},{"lineNumber":133,"author":{"gitId":"tiif"},"content":" fromDate +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":134,"author":{"gitId":"tiif"},"content":" } else if (reachFrom \u003d\u003d false \u0026\u0026 reachTo \u003d\u003d false) {","lastModifiedDate":"2023-09-01"},{"lineNumber":135,"author":{"gitId":"tiif"},"content":" //part for description","lastModifiedDate":"2023-09-01"},{"lineNumber":136,"author":{"gitId":"tiif"},"content":" description +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":137,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":138,"author":{"gitId":"tiif"},"content":" toDate +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":139,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":140,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":141,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":142,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the event\");","lastModifiedDate":"2023-09-01"},{"lineNumber":143,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":144,"author":{"gitId":"tiif"},"content":" } else if (fromDate.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":145,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify start time\");","lastModifiedDate":"2023-09-01"},{"lineNumber":146,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":147,"author":{"gitId":"tiif"},"content":" } else if (toDate.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":148,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the end time\");","lastModifiedDate":"2023-09-01"},{"lineNumber":149,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":150,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":151,"author":{"gitId":"tiif"},"content":" return new Event(description, fromDate, toDate);","lastModifiedDate":"2023-09-01"},{"lineNumber":152,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":153,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":154,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":155,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":155}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import duke.Event;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":"import java.util.List;","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":"public class Storage {","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" private String filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" //fix hard coded part later","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" /**read from file and return an array list of task","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" *","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" * @return array list of task","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" public ArrayList\u003cTask\u003e load() throws DukeException {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" //print error message if cannot load","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" //assume that all file path are ./data/duke.txt for now, change it later","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" //if anything happen to the path or to the file, just return a new ArrayList and continue, no exception printed","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" Path path \u003d Paths.get(\"./data/duke.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" ArrayList\u003cTask\u003e loadList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" if (Files.exists(path)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" List\u003cString\u003e lines \u003d Files.readAllLines(path);","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" for (String line : lines) {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" String parsed_str[] \u003d line.split(\"\\\\s\\\\|\\\\s\");","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" if (parsed_str[0].equals(\"T\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" int size \u003d parsed_str.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" Todo curr \u003d new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"D\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" //reach the date","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" String by_date \u003d parsed_str[3];","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" Deadline curr \u003d new Deadline(description, by_date);","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"E\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" String fromDate \u003d parsed_str[3];","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" String toDate \u003d parsed_str[4];","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" Event curr \u003d new Event(description, fromDate, toDate);","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" //if anything happen, just return a new one","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" throw new DukeException(\"Error occured in loading\", e);","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" //if the file do not exist, just return a new array list","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" return new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" return loadList;","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" public void store(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" Path path \u003d Paths.get(\"./data\");","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" if (Files.notExists(path)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" //if the directory not exist, create one instantly","lastModifiedDate":"2023-09-01"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" //duke.txt will be created automatically by default","lastModifiedDate":"2023-09-01"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" Files.createDirectories(path);","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" System.out.println(\"Error occured in creating directory\");","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"tiif"},"content":" try (FileWriter filewriter \u003d new FileWriter(this.filePath)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"tiif"},"content":" //might need a fix for above, todo","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"tiif"},"content":" int size \u003d tasks.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"tiif"},"content":" for (int i \u003d 0; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"tiif"},"content":" filewriter.write(curr.stringInFile() + \"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"tiif"},"content":" System.out.println(\"Error occured in writing the file\");","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":104}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"public class Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" protected String description;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" protected boolean isDone;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" public Task(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" this.description \u003d description;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" public void markAsDone() {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" public void markAsNotDone() {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" //will not be called","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":37}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"public class TaskList {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" ArrayList\u003cTask\u003e tasklist;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" public TaskList(ArrayList\u003cTask\u003e tasklist) {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" this.tasklist \u003d tasklist;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" public TaskList() {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" this.tasklist \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" public Task getTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" return this.tasklist.get(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" public void addTask (Task newtask) {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" this.tasklist.add(newtask);","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" public void deleteTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" this.tasklist.remove(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" public void markTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" this.tasklist.get(index).markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" public void unmarkTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" this.tasklist.get(index).markAsNotDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" public int size() {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" return this.tasklist.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":38}},{"path":"src/main/java/duke/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"public class Todo extends Task{","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" public Todo(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" //no extra information for todolist","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" return \"[T]\" + \"[\" + this.getStatusIcon() + \"] \" + super.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" return \"T | \" + status + \" | \" + this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":21}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"public class Ui {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" public void welcomeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" System.out.println(\"Hello! I\u0027m ChatBot\" + \"\\n\" + \"What can I do for you?\" + \"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" public void goodbyeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" public void printTaskList(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" int size \u003d tasks.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" for (int i \u003d 0; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" System.out.println((i + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" return ;","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" public void printAddTask(Task curr, int taskSize) {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" System.out.println(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" System.out.println(\"Now you have \" + taskSize + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" public void printDelete(Task curr, int taskSize) {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" System.out.println(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" System.out.println(\"Now you have \" + taskSize + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" public void printMark(Task curr, int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" System.out.println((index + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" public void printUnmark(Task curr, int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" System.out.println(\"Ok, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" System.out.println((index + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" public void showLoadingError(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":47}},{"path":"src/test/java/duke/DeadlineTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"public class DeadlineTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" public void deadlineToStringTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" Deadline d \u003d new Deadline(\"a deadline here\", \"2022-02-10\");","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" String result \u003d d.toString();","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" String expected \u003d \"[D][ ] a deadline here (by: Feb 10 2022)\";","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" public void deadlineStringInFileTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" Deadline d \u003d new Deadline(\"a deadline here \", \"2022-02-10\");","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" String result \u003d d.stringInFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" String expected \u003d \"D | 0 | a deadline here | 2022-02-10\";","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"tiif":21}},{"path":"src/test/java/duke/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" public void deadlineCommandTest () {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" String command \u003d \"deadline a deadline here /by 2022-02-01\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" String result \u003d parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" assertEquals(\"deadline\", result);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" public void eventCommandTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" String command \u003d \"event an event here /from 2022-02-01 /to 2022-02-01\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" String result \u003d parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" assertEquals(\"event\", result);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" public void todoCommandTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" String command \u003d \"todo a todo here\";","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" String result \u003d parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" assertEquals(\"todo\", result);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" public void deadlineDescriptionTest () {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" String command \u003d \"deadline a deadline here /by 2022-02-01\";","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" Task result \u003d parser.parseToTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" String description \u003d result.description;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" assertEquals(\"a deadline here \", description);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"tiif":39}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"todo borrow book","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"mark 1","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"tiif":5}}] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# Duke project template","lastModifiedDate":"2020-05-25"},{"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":"-"},"content":"3. After that, locate the `src/main/java/Duke.java` file, right-click it, and choose `Run 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":"2021-07-29"},{"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"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"}],"authorContributionMap":{"tiif":1,"-":24}},{"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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","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":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" mainClass.set(\"src.main.java.Duke\")","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"tiif":1,"-":41}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"import java.io.BufferedReader;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.io.InputStreamReader;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import duke.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import duke.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"import duke.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"import duke.DukeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" * Main class for the duke application.","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" private Parser parser;","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" private Storage storage;","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" private TaskList tasks;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" private Ui ui;","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" public static void main(String[] args) throws IOException {","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" new Duke(\"./data/duke.txt\").run();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" ui \u003d new Ui();","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" parser \u003d new Parser();","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" tasks \u003d new TaskList(storage.load());","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" ui.showLoadingError(e.getMessage());","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" /** Main driver code for duke class.","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" public void run() throws IOException {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" ui.printWelcomeMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" boolean isExit \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" while (!isExit) {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" BufferedReader bf \u003d new BufferedReader(new InputStreamReader(System.in));","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" String str \u003d bf.readLine();","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" String command \u003d parser.parseCommand(str);","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" //regex detect all space","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" if (command.equals(\"list\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" ui.printTaskList(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"mark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" int index \u003d parser.parseToIndex();","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" ui.printMark(curr, index);","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"unmark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" int index \u003d parser.parseToIndex();","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" curr.markAsNotDone();","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" ui.printUnmark(curr, index);","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"bye\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" ui.printGoodbyeMessage();","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" isExit \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"todo\") || command.equals(\"deadline\") || command.equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" Task curr \u003d parser.parseToTask();","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" if (curr \u003d\u003d null) {","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" tasks.addTask(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" ui.printAddTask(curr, tasks.getSize());","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"delete\")){","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" int index \u003d parser.parseToIndex();","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" tasks.deleteTask(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" storage.store(tasks);","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" ui.printDelete(curr, tasks.getSize());","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"find\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" String query \u003d parser.parseQuery();","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" ui.printQueryResult(tasks.searchTask(query));","lastModifiedDate":"2023-09-03"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" //nothing found","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" System.out.println(\"OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":87,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"tiif":84,"-":3}},{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"/**Deadline class for task with deadlines","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" protected String by;","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" protected String transformedDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" * Constructor for deadline class","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" * @param description the name of the deadline","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" * @param by the date or date and time of the deadline","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" //assume user always input date first, only consider with or without time","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" this.by \u003d by;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" String parsed_by[] \u003d by.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" String byDate \u003d LocalDate.parse(parsed_by[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" this.transformedDate \u003d parsed_by.length \u003e 1 ? byDate + \" \" + parsed_by[1] : byDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" * The format which the deadline will be printed every time","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" * @return the formated string that included names and date or time","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" String first \u003d \"[D]\" + \"[\" + this.getStatusIcon() + \"] \" + this.description + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" String second \u003d \"(by: \" + this.transformedDate + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" return first + second;","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" * The formatted string to be printed in file","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" * @return a formatted string","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" return \"D | \" + status + \" | \" + this.description + \"| \" + this.by;","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":48}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" public DukeException(String message, Throwable e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" super(message, e);","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":7}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" * Event class for events that has start and end date or time.","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":"public class Event extends Task{","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" protected String from;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" //transformed only for printing","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" protected String transfromedFrom;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" protected String to;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" protected String transformedTo;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" * Constructor for event class","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" * @param description name of the event","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" * @param from start date or time","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" * @param to end date or time","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" public Event (String description, String from, String to) {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" //no extra information for todolist","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" this.from \u003d from;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" this.to \u003d to;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" String parsed_from[] \u003d from.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" String parsed_to[] \u003d to.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" //assume that date is always entered first","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" //only consider with or without time","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" String fromDate \u003d LocalDate.parse(parsed_from[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" String toDate \u003d LocalDate.parse(parsed_to[0]).format(DateTimeFormatter.ofPattern(\"MMM d yyyy\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" this.transfromedFrom\u003d parsed_from.length \u003e 1 ? fromDate + \" \" + parsed_from[1] : fromDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" this.transformedTo \u003d parsed_to.length \u003e 1 ? toDate+ \" \" + parsed_to[1] : toDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" * The formatted string to be printed in terminal","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" * @return the formated string that included names and date or time","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" String first \u003d \"[E]\" + \"[\" + this.getStatusIcon() + \"] \" + this.description + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" String second \u003d \"(from: \" + this.transfromedFrom + \" to: \" + this.transformedTo + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" return first + second;","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" * The formatted string to be printed in file","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" * @return a formatted string","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" return \"E | \" + status + \" | \" + this.description + \"| \" + this.from + \"| \" + this.to;","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":59}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import duke.Event;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" * Parser class for the command","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":"public class Parser {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" //return \"\" to continue without action, any other command to fit","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" private String command;","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" private String[] parsedStr;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" * Parse the fullCommand and get the type of the command","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" * @param fullCommmand everything the user entered in a line","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" * @return type of the command","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" public String parseCommand(String fullCommmand) {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" String parsed_str[] \u003d fullCommmand.split(\"\\\\s+\");","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" this.parsedStr \u003d parsed_str;","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" if (parsed_str[0].equals(\"find\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" this.command \u003d \"find\";","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" return \"find\";","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"list\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003e 1) {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" System.out.println(\"Do not input another argument beside list\");","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" this.command \u003d \"list\";","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" return \"list\";","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"mark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the index of the task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" } else if (parsed_str.length \u003e 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" System.out.println(\"Extra argument detected!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" this.command \u003d \"mark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" return \"mark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"unmark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" if (parsed_str.length \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the index of the task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" } else if (parsed_str.length \u003e 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" System.out.println(\"Extra argument detected!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" this.command \u003d \"unmark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" return \"unmark\";","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" } else if (fullCommmand.equals(\"bye\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" this.command \u003d \"bye\";","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" return \"bye\";","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" int size \u003d parsed_str.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" if (size \u003c 2) {","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" System.out.println(\"You do not specify the todo name\");","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" this.command \u003d \"todo\";","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" return \"todo\";","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" this.command \u003d \"deadline\";","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" return \"deadline\";","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" this.command \u003d \"event\";","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" return \"event\";","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"delete\")){","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" this.command \u003d \"delete\";","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" return \"delete\";","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" this.command \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" * Parse query for the find command","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" * @return the search query","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" public String parseQuery() {","lastModifiedDate":"2023-09-03"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" if (command.equals(\"find\")) {","lastModifiedDate":"2023-09-03"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" //assume only one word query, no error handling yet","lastModifiedDate":"2023-09-03"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" return parsedStr[1];","lastModifiedDate":"2023-09-03"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":92,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-03"},{"lineNumber":93,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":94,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":95,"author":{"gitId":"tiif"},"content":" * Parse the index that used by \"mark\", \"unmark\" or delete","lastModifiedDate":"2023-09-03"},{"lineNumber":96,"author":{"gitId":"tiif"},"content":" * run after parseCommand","lastModifiedDate":"2023-09-03"},{"lineNumber":97,"author":{"gitId":"tiif"},"content":" * @return the index, in 0-indexed form","lastModifiedDate":"2023-09-03"},{"lineNumber":98,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":99,"author":{"gitId":"tiif"},"content":" public int parseToIndex() {","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"tiif"},"content":" if (command.equals(\"mark\") || command.equals(\"unmark\") || command.equals(\"delete\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"tiif"},"content":" int index \u003d Integer.parseInt(parsedStr[1]) - 1;","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"tiif"},"content":" return index;","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"tiif"},"content":" System.out.println(\"invalid operation\");","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"tiif"},"content":" return -1;","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":109,"author":{"gitId":"tiif"},"content":" * parse the command into task for todo, deadline and event","lastModifiedDate":"2023-09-03"},{"lineNumber":110,"author":{"gitId":"tiif"},"content":" * run after parseCommand","lastModifiedDate":"2023-09-03"},{"lineNumber":111,"author":{"gitId":"tiif"},"content":" * @return a Task","lastModifiedDate":"2023-09-03"},{"lineNumber":112,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":113,"author":{"gitId":"tiif"},"content":" public Task parseToTask() {","lastModifiedDate":"2023-09-01"},{"lineNumber":114,"author":{"gitId":"tiif"},"content":" //rely on last method, last method must be called before this","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"tiif"},"content":" if (this.command.equals(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":116,"author":{"gitId":"tiif"},"content":" int size \u003d this.parsedStr.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":117,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":118,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":119,"author":{"gitId":"tiif"},"content":" description +\u003d this.parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":120,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":121,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":122,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the todo task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":123,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":124,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":125,"author":{"gitId":"tiif"},"content":" return new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":126,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":127,"author":{"gitId":"tiif"},"content":" boolean reached \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":128,"author":{"gitId":"tiif"},"content":" String by_date \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":129,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":130,"author":{"gitId":"tiif"},"content":" int length \u003d parsedStr.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":131,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":132,"author":{"gitId":"tiif"},"content":" if (parsedStr[i].equals(\"/by\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":133,"author":{"gitId":"tiif"},"content":" reached \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":134,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":135,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":136,"author":{"gitId":"tiif"},"content":" if (reached \u003d\u003d true) {","lastModifiedDate":"2023-09-01"},{"lineNumber":137,"author":{"gitId":"tiif"},"content":" by_date +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":138,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":139,"author":{"gitId":"tiif"},"content":" description +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":140,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":141,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":142,"author":{"gitId":"tiif"},"content":" //error handling","lastModifiedDate":"2023-09-01"},{"lineNumber":143,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":144,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the deadline task\");","lastModifiedDate":"2023-09-01"},{"lineNumber":145,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":146,"author":{"gitId":"tiif"},"content":" } else if (by_date.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":147,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify when is the deadline\");","lastModifiedDate":"2023-09-01"},{"lineNumber":148,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":149,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":150,"author":{"gitId":"tiif"},"content":" return new Deadline(description, by_date);","lastModifiedDate":"2023-09-01"},{"lineNumber":151,"author":{"gitId":"tiif"},"content":" } else if (command.equals(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":152,"author":{"gitId":"tiif"},"content":" boolean reachFrom \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":153,"author":{"gitId":"tiif"},"content":" boolean reachTo \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":154,"author":{"gitId":"tiif"},"content":" String fromDate \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":155,"author":{"gitId":"tiif"},"content":" String toDate \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":156,"author":{"gitId":"tiif"},"content":" String description \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":157,"author":{"gitId":"tiif"},"content":" for (int i \u003d 1; i \u003c parsedStr.length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":158,"author":{"gitId":"tiif"},"content":" if (parsedStr[i].equals(\"/from\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":159,"author":{"gitId":"tiif"},"content":" reachFrom \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":160,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":161,"author":{"gitId":"tiif"},"content":" } else if (parsedStr[i].equals(\"/to\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":162,"author":{"gitId":"tiif"},"content":" reachTo \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":163,"author":{"gitId":"tiif"},"content":" continue;","lastModifiedDate":"2023-09-01"},{"lineNumber":164,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":165,"author":{"gitId":"tiif"},"content":" if (reachFrom \u003d\u003d true \u0026\u0026 reachTo \u003d\u003d false) {","lastModifiedDate":"2023-09-01"},{"lineNumber":166,"author":{"gitId":"tiif"},"content":" fromDate +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":167,"author":{"gitId":"tiif"},"content":" } else if (reachFrom \u003d\u003d false \u0026\u0026 reachTo \u003d\u003d false) {","lastModifiedDate":"2023-09-01"},{"lineNumber":168,"author":{"gitId":"tiif"},"content":" //part for description","lastModifiedDate":"2023-09-01"},{"lineNumber":169,"author":{"gitId":"tiif"},"content":" description +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":170,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":171,"author":{"gitId":"tiif"},"content":" toDate +\u003d parsedStr[i] + \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":172,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":173,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":174,"author":{"gitId":"tiif"},"content":" if (description.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":175,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please input the name of the event\");","lastModifiedDate":"2023-09-01"},{"lineNumber":176,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":177,"author":{"gitId":"tiif"},"content":" } else if (fromDate.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":178,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify start time\");","lastModifiedDate":"2023-09-01"},{"lineNumber":179,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":180,"author":{"gitId":"tiif"},"content":" } else if (toDate.equals(\"\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":181,"author":{"gitId":"tiif"},"content":" System.out.println(\"Please specify the end time\");","lastModifiedDate":"2023-09-01"},{"lineNumber":182,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":183,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":184,"author":{"gitId":"tiif"},"content":" return new Event(description, fromDate, toDate);","lastModifiedDate":"2023-09-01"},{"lineNumber":185,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":186,"author":{"gitId":"tiif"},"content":" return null;","lastModifiedDate":"2023-09-01"},{"lineNumber":187,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":188,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":188}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"import java.util.List;","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" * Storage class to store the task result and load it","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"public class Storage {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" private String filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" * Constructor for storage","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" * @param filePath the relative filepath from the project root","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" //fix hard coded part later","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" * read from file and return an array list of task.","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" *","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" * @return array list of task","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" public ArrayList\u003cTask\u003e load() throws DukeException {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" //print error message if cannot load","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" //assume that all file path are ./data/duke.txt for now, change it later","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" //if anything happen to the path or to the file, just return a new ArrayList and continue, no exception printed","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" Path path \u003d Paths.get(\"./data/duke.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" ArrayList\u003cTask\u003e loadList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" if (Files.exists(path)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" List\u003cString\u003e lines \u003d Files.readAllLines(path);","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" for (String line : lines) {","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" String parsed_str[] \u003d line.split(\"\\\\s\\\\|\\\\s\");","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" if (parsed_str[0].equals(\"T\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" int size \u003d parsed_str.length;","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" Todo curr \u003d new Todo(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"D\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" //reach the date","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" String by_date \u003d parsed_str[3];","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" Deadline curr \u003d new Deadline(description, by_date);","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" } else if (parsed_str[0].equals(\"E\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" Boolean done \u003d parsed_str[1] \u003d\u003d \"1\" ? true : false;","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" String description \u003d parsed_str[2];","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" String fromDate \u003d parsed_str[3];","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" String toDate \u003d parsed_str[4];","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" Event curr \u003d new Event(description, fromDate, toDate);","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" if (done) {","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" curr.markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" loadList.add(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" //if anything happen, just return a new one","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" throw new DukeException(\"Error occured in loading\", e);","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" //if the file do not exist, just return a new array list","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" return new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" return loadList;","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" * Store the task in a file.","lastModifiedDate":"2023-09-03"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" * @param tasks An array list of tasks.","lastModifiedDate":"2023-09-03"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" public void store(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":" Path path \u003d Paths.get(\"./data\");","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"tiif"},"content":" if (Files.notExists(path)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"tiif"},"content":" //if the directory not exist, create one instantly","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"tiif"},"content":" //duke.txt will be created automatically by default","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"tiif"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"tiif"},"content":" Files.createDirectories(path);","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"tiif"},"content":" System.out.println(\"Error occured in creating directory\");","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"tiif"},"content":" try (FileWriter filewriter \u003d new FileWriter(this.filePath)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"tiif"},"content":" //might need a fix for above, todo","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"tiif"},"content":" int size \u003d tasks.getSize();","lastModifiedDate":"2023-09-03"},{"lineNumber":104,"author":{"gitId":"tiif"},"content":" for (int i \u003d 0; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"tiif"},"content":" filewriter.write(curr.stringInFile() + \"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"tiif"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":109,"author":{"gitId":"tiif"},"content":" System.out.println(\"Error occured in writing the file\");","lastModifiedDate":"2023-09-01"},{"lineNumber":110,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":111,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":112,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":112}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" * Task class","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"public class Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" protected String description;","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" protected boolean isDone;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" * Constructor for task","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" * @param description name of task","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" public Task(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" this.description \u003d description;","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" * get the done or not done status icon","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" * @return the status icon","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" * mark the task as done","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" public void markAsDone() {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" * mark the task as not done","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" public void markAsNotDone() {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" * toString method of Task class","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" * @return a string","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" * formatted string to be printed in file","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" * @return a string","lastModifiedDate":"2023-09-03"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" //will not be called","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" return \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":61}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" * TaskList class","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"public class TaskList {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" ArrayList\u003cTask\u003e tasklist;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" * Constructor for tasklist","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" * @param tasklist an array list of tasks","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" public TaskList(ArrayList\u003cTask\u003e tasklist) {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" this.tasklist \u003d tasklist;","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" * Constructor for task list","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" public TaskList() {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" this.tasklist \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" * get the task according to index","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" public Task getTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" return this.tasklist.get(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" * add new task","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" * @param newtask a new Task","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" public void addTask (Task newtask) {","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" this.tasklist.add(newtask);","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" * delete a task according to index","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" * @param index index of the task, 0-indexed","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":" public void deleteTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" this.tasklist.remove(index);","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" * mark the task as done","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" * @param index index of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" public void markTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" this.tasklist.get(index).markAsDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" * mark the task as not done","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" * @param index the index of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" public void unmarkTask(int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" this.tasklist.get(index).markAsNotDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" * getSize of the task list","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" * @return the getSize","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" ]*/","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" public int getSize() {","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" return this.tasklist.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" * Search task according to the query given","lastModifiedDate":"2023-09-03"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":" * @param query search query string","lastModifiedDate":"2023-09-03"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" * @return a TaskList with all the search result inside","lastModifiedDate":"2023-09-03"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" public TaskList searchTask(String query) {","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" TaskList results \u003d new TaskList();","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" for (Task task : tasklist) {","lastModifiedDate":"2023-09-03"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" if (task.description.toUpperCase().contains(query.toUpperCase())) {","lastModifiedDate":"2023-09-03"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" results.addTask(task);","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" return results;","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":86}},{"path":"src/main/java/duke/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import duke.Task;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" * Todo class","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"public class Todo extends Task{","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" * constructor for todo class","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" * @param description name of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" public Todo(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" //no extra information for todolist","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" * The formatted string to be printed in terminal","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" * @return the formated string","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" return \"[T]\" + \"[\" + this.getStatusIcon() + \"] \" + super.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" * The formatted string to be printed in file","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" * @return a formatted string","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" public String stringInFile() {","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" int status \u003d super.isDone ? 1 : 0;","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" return \"T | \" + status + \" | \" + this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":36}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"/**","lastModifiedDate":"2023-09-03"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":" * Ui class for duke","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"public class Ui {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" * show welcome message","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" public void printWelcomeMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" System.out.println(\"Hello! I\u0027m ChatBot\" + \"\\n\" + \"What can I do for you?\" + \"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" * show goodbye message","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" public void printGoodbyeMessage() {","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" System.out.println(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" * print the list of task","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" * @param tasks the TaskList","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" public void printTaskList(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" int size \u003d tasks.getSize();","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" for (int i \u003d 0; i \u003c size; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" Task curr \u003d tasks.getTask(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" System.out.println((i + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" return ;","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" * printed when task is added","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" * @param curr current task being added","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" * @param taskSize the getSize of TaskList","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":" public void printAddTask(Task curr, int taskSize) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"tiif"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"tiif"},"content":" System.out.println(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"tiif"},"content":" System.out.println(\"Now you have \" + taskSize + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"tiif"},"content":" * printed when task is deleted","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"tiif"},"content":" * @param curr current task being deleted","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"tiif"},"content":" * @param taskSize the getSize of TaskList","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"tiif"},"content":" public void printDelete(Task curr, int taskSize) {","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"tiif"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"tiif"},"content":" System.out.println(curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"tiif"},"content":" System.out.println(\"Now you have \" + taskSize + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"tiif"},"content":" * printed when task is marked as done","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"tiif"},"content":" * @param curr current task","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"tiif"},"content":" * @param index index of the task in TaskList","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"tiif"},"content":" public void printMark(Task curr, int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"tiif"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"tiif"},"content":" System.out.println((index + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"tiif"},"content":" * printed when task is marked as not done","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"tiif"},"content":" * @param curr current task","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"tiif"},"content":" * @param index index of the task in TaskList","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"tiif"},"content":" public void printUnmark(Task curr, int index) {","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"tiif"},"content":" System.out.println(\"Ok, I\u0027ve marked this task as not done yet:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"tiif"},"content":" System.out.println((index + 1) + \". \" + curr);","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":76,"author":{"gitId":"tiif"},"content":" * show loading error","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"tiif"},"content":" * @param message error message","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"tiif"},"content":" public void showLoadingError(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"tiif"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"tiif"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"tiif"},"content":" * Print search query result","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"tiif"},"content":" * @param results a TaskList of search result","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"tiif"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":87,"author":{"gitId":"tiif"},"content":" public void printQueryResult (TaskList results) {","lastModifiedDate":"2023-09-03"},{"lineNumber":88,"author":{"gitId":"tiif"},"content":" System.out.println(\"Here are the matching tasks in your list:\");","lastModifiedDate":"2023-09-03"},{"lineNumber":89,"author":{"gitId":"tiif"},"content":" printTaskList(results);","lastModifiedDate":"2023-09-03"},{"lineNumber":90,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-03"},{"lineNumber":91,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"tiif":91}},{"path":"src/test/java/duke/DeadlineTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"public class DeadlineTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":" public void deadlineToStringTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":" Deadline d \u003d new Deadline(\"a deadline here\", \"2022-02-10\");","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" String result \u003d d.toString();","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" String expected \u003d \"[D][ ] a deadline here (by: Feb 10 2022)\";","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" public void deadlineStringInFileTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" Deadline d \u003d new Deadline(\"a deadline here \", \"2022-02-10\");","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" String result \u003d d.stringInFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" String expected \u003d \"D | 0 | a deadline here | 2022-02-10\";","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"tiif":21}},{"path":"src/test/java/duke/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"tiif"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"tiif"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"tiif"},"content":" public void deadlineCommandTest () {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"tiif"},"content":" String command \u003d \"deadline a deadline here /by 2022-02-01\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"tiif"},"content":" String result \u003d parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"tiif"},"content":" assertEquals(\"deadline\", result);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"tiif"},"content":" public void eventCommandTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"tiif"},"content":" String command \u003d \"event an event here /from 2022-02-01 /to 2022-02-01\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"tiif"},"content":" String result \u003d parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"tiif"},"content":" assertEquals(\"event\", result);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"tiif"},"content":" public void todoCommandTest() {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"tiif"},"content":" String command \u003d \"todo a todo here\";","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"tiif"},"content":" String result \u003d parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"tiif"},"content":" assertEquals(\"todo\", result);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"tiif"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"tiif"},"content":" public void deadlineDescriptionTest () {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"tiif"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"tiif"},"content":" String command \u003d \"deadline a deadline here /by 2022-02-01\";","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"tiif"},"content":" parser.parseCommand(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"tiif"},"content":" Task result \u003d parser.parseToTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"tiif"},"content":" String description \u003d result.description;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"tiif"},"content":" assertEquals(\"a deadline here \", description);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"tiif"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"tiif"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"tiif":39}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"tiif"},"content":"todo borrow book","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"tiif"},"content":"list","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"tiif"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"tiif"},"content":"mark 1","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"tiif":5}}] diff --git a/tiif_ip_master/commits.json b/tiif_ip_master/commits.json index 8f5d50c0..56aa1a73 100644 --- a/tiif_ip_master/commits.json +++ b/tiif_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"tiif":[{"date":"2023-08-22","commitResults":[{"hash":"a0aed2dde62a7f11c8f50c407cb1f3b959f01a0a","isMergeCommit":false,"messageTitle":"complete level 0","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":2}}},{"hash":"eaed80be131353e3bee5a8056bb464505d5cc493","isMergeCommit":false,"messageTitle":"complete level 1","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":1}}},{"hash":"e5f4449e8912e9185e0e33f6d78b57979adad64e","isMergeCommit":false,"messageTitle":"complete level 2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":3}}},{"hash":"fe0f40fe9c7096aa836a4f369c40e48e266b56ab","isMergeCommit":false,"messageTitle":"complete level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":3}}},{"hash":"0c5175b019011d362a32c5de9f9f2f74846550f1","isMergeCommit":false,"messageTitle":"completed level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":122,"deletions":6}}}]},{"date":"2023-08-23","commitResults":[{"hash":"b2fcb4ae6fc2c501e37af0891762a9b72bd330a1","isMergeCommit":false,"messageTitle":"automated text ui testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"sh":{"insertions":0,"deletions":0}}},{"hash":"4f633e765cad57b46d441785e6997fe8e10fe023","isMergeCommit":false,"messageTitle":"add exception","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":5}}},{"hash":"cc6dcb22a71a15dd4e197ec5374e173367d073e7","isMergeCommit":false,"messageTitle":"implemented delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":7}}}]},{"date":"2023-08-29","commitResults":[{"hash":"dd69cefa38a304083d94cfa23d380532f552166e","isMergeCommit":false,"messageTitle":"complete Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":3}}},{"hash":"2a9da5774a514e52c958858efd93ed6e63ed1454","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"be3f2fe3fc0e24427ac3d4a2781e7404f1338a4a","isMergeCommit":false,"messageTitle":"update Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":64,"deletions":3}}},{"hash":"47cc9929d1e4748263f0d0e982bcb02c3fc2cd75","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"79f541a6dc863df5d114ecc9be8b0bf650e9e787","isMergeCommit":false,"messageTitle":"convert string to date object","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":3}}},{"hash":"e92392f1dd38b9be7ed261401937d58cfd50d79f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-01","commitResults":[{"hash":"06a35e3c608ed060835f8a45a5cf692fe2c2420f","isMergeCommit":false,"messageTitle":"refactor the code to be more oop","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":304,"deletions":165}}},{"hash":"b447c9497a054b95838f8341c12371aff329db7c","isMergeCommit":false,"messageTitle":"transfrom other classes as packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":475,"deletions":0}}}]},{"date":"2023-09-02","commitResults":[{"hash":"bda9ac9366791fbbd9006395e4cfaf75d943f4bb","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 of https://github.com/tiif/ip","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"d18842eb2735a48c92f42a5368d9ca2adca38683","isMergeCommit":false,"messageTitle":"bug fix for event and deadline","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":7}}},{"hash":"d8118dc66122839f0907345d1379da781ebfe9f3","isMergeCommit":false,"messageTitle":"add junit test","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":73,"deletions":6}}}]}]},"authorFileTypeContributionMap":{"tiif":{"java":1061,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":5}},"authorContributionVariance":{"tiif":52308.434},"authorDisplayNameMap":{"tiif":"CS2103T-F08-2 TIFF..YUAN"}} +{"authorDailyContributionsMap":{"tiif":[{"date":"2023-08-22","commitResults":[{"hash":"a0aed2dde62a7f11c8f50c407cb1f3b959f01a0a","isMergeCommit":false,"messageTitle":"complete level 0","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":2}}},{"hash":"eaed80be131353e3bee5a8056bb464505d5cc493","isMergeCommit":false,"messageTitle":"complete level 1","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":1}}},{"hash":"e5f4449e8912e9185e0e33f6d78b57979adad64e","isMergeCommit":false,"messageTitle":"complete level 2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":3}}},{"hash":"fe0f40fe9c7096aa836a4f369c40e48e266b56ab","isMergeCommit":false,"messageTitle":"complete level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":3}}},{"hash":"0c5175b019011d362a32c5de9f9f2f74846550f1","isMergeCommit":false,"messageTitle":"completed level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":122,"deletions":6}}}]},{"date":"2023-08-23","commitResults":[{"hash":"b2fcb4ae6fc2c501e37af0891762a9b72bd330a1","isMergeCommit":false,"messageTitle":"automated text ui testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"sh":{"insertions":0,"deletions":0}}},{"hash":"4f633e765cad57b46d441785e6997fe8e10fe023","isMergeCommit":false,"messageTitle":"add exception","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":5}}},{"hash":"cc6dcb22a71a15dd4e197ec5374e173367d073e7","isMergeCommit":false,"messageTitle":"implemented delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":7}}}]},{"date":"2023-08-29","commitResults":[{"hash":"dd69cefa38a304083d94cfa23d380532f552166e","isMergeCommit":false,"messageTitle":"complete Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":3}}},{"hash":"2a9da5774a514e52c958858efd93ed6e63ed1454","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"be3f2fe3fc0e24427ac3d4a2781e7404f1338a4a","isMergeCommit":false,"messageTitle":"update Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":64,"deletions":3}}},{"hash":"47cc9929d1e4748263f0d0e982bcb02c3fc2cd75","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"79f541a6dc863df5d114ecc9be8b0bf650e9e787","isMergeCommit":false,"messageTitle":"convert string to date object","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":3}}},{"hash":"e92392f1dd38b9be7ed261401937d58cfd50d79f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-01","commitResults":[{"hash":"06a35e3c608ed060835f8a45a5cf692fe2c2420f","isMergeCommit":false,"messageTitle":"refactor the code to be more oop","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":304,"deletions":165}}},{"hash":"b447c9497a054b95838f8341c12371aff329db7c","isMergeCommit":false,"messageTitle":"transfrom other classes as packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":475,"deletions":0}}}]},{"date":"2023-09-02","commitResults":[{"hash":"bda9ac9366791fbbd9006395e4cfaf75d943f4bb","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 of https://github.com/tiif/ip","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"d18842eb2735a48c92f42a5368d9ca2adca38683","isMergeCommit":false,"messageTitle":"bug fix for event and deadline","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":7}}},{"hash":"d8118dc66122839f0907345d1379da781ebfe9f3","isMergeCommit":false,"messageTitle":"add junit test","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":73,"deletions":6}}}]},{"date":"2023-09-03","commitResults":[{"hash":"54e726b76eb549a058b5a39fab6fcbb0962e941c","isMergeCommit":false,"messageTitle":"create javadoc","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":186,"deletions":447},"md":{"insertions":1,"deletions":0}}},{"hash":"2652619879ecbbc61ea5d431338037c9593e0386","isMergeCommit":true,"messageTitle":"Merge branch \u0027A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"49a1c66fb25c358dac061ead9b834b91e7d392b9","isMergeCommit":false,"messageTitle":"refactor for coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":23}}},{"hash":"549f0d62d9f9cbcb0a78b91e328a3152f7793dfb","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-Coding-Standard"],"fileTypesAndContributionMap":{}},{"hash":"7feb59e4052f170475efffc242a246a428b24b80","isMergeCommit":false,"messageTitle":"Added search feature","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":2}}},{"hash":"7fac5417e5352062e847da18677330bc72dcdfc0","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"tiif":{"java":832,"md":1,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":5}},"authorContributionVariance":{"tiif":70862.086},"authorDisplayNameMap":{"tiif":"CS2103T-F08-2 TIFF..YUAN"}} diff --git a/xxiaoweii_ip_master/authorship.json b/xxiaoweii_ip_master/authorship.json index b27d4c30..5fabce19 100644 --- a/xxiaoweii_ip_master/authorship.json +++ b/xxiaoweii_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"Level7File/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"0","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"0","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":2}},{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"# duke.Duke project template","lastModifiedDate":"2023-08-31"},{"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":"xxiaoweii"},"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-31"},{"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":{"xxiaoweii":2,"-":22}},{"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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","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":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" mainClass.set(\"duke.Duke\")","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"xxiaoweii":1,"-":41}},{"path":"src/main/java/duke/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.IncompleteMessageException;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.InvalidTaskNumberException;","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"public class Command {","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" public Command(TaskList tasklist, Ui ui) {","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" this.taskList \u003d tasklist;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" public void handleList() {","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.listOutTasks();","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" public void handleDelete(String userInput, String keyword) throws IncompleteMessageException, InvalidTaskNumberException {","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"Delete\");","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" String getIndex \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" int taskIndex \u003d Integer.parseInt(getIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" if (taskIndex \u003e this.taskList.numOfTasks()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" throw new InvalidTaskNumberException();","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.deleteTask(taskIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" public void handleDone(String userInput, String keyword) throws IncompleteMessageException, InvalidTaskNumberException {","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"Done\");","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" String getIndex \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" int taskIndex \u003d Integer.parseInt(getIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" if (taskIndex \u003e this.taskList.numOfTasks()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" throw new InvalidTaskNumberException();","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.markAsDone(taskIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" public void handleUndone(String userInput, String keyword) throws IncompleteMessageException, InvalidTaskNumberException {","lastModifiedDate":"2023-08-31"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"Undone\");","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" String getIndex \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" int taskIndex \u003d Integer.parseInt(getIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" if (taskIndex \u003e this.taskList.numOfTasks()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" throw new InvalidTaskNumberException();","lastModifiedDate":"2023-08-31"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.markAsUndone(taskIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" public void handleDeadline(String userInput, String keyword) throws IncompleteMessageException, DetailsUnknownException {","lastModifiedDate":"2023-08-31"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" String[] inputToArr \u003d Parser.splitInput(userInput); //return [keyword, task /by time]","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"D\");","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":" String[] taskArr \u003d Parser.splitDeadlineDetails(inputToArr[1]); // return [task, /by time]","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":" String taskDescription \u003d taskArr[0];","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"xxiaoweii"},"content":" String taskTime \u003d taskArr[1];","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"xxiaoweii"},"content":" Deadline deadline \u003d new Deadline(taskDescription, taskTime);","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.addTask(deadline);","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"xxiaoweii"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"xxiaoweii"},"content":" throw new DetailsUnknownException();","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"xxiaoweii"},"content":" } catch (IncompleteMessageException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"xxiaoweii"},"content":" e.getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":85,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":86,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":87,"author":{"gitId":"xxiaoweii"},"content":" public void handleEvent(String userInput, String keyword) throws IncompleteMessageException, DetailsUnknownException {","lastModifiedDate":"2023-08-31"},{"lineNumber":88,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":89,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"xxiaoweii"},"content":" String[] inputToArr \u003d Parser.splitInput(userInput); // return [kw, task /from time /to time]","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"E\");","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":95,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":96,"author":{"gitId":"xxiaoweii"},"content":" String[] taskArr \u003d Parser.splitEventDetails(inputToArr[1]); // return [task, /from time /to time]","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"xxiaoweii"},"content":" String taskDescription \u003d taskArr[0];","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"xxiaoweii"},"content":" String taskTime \u003d taskArr[1];","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"xxiaoweii"},"content":" Event event \u003d new Event(taskDescription, taskTime);","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.addTask(event);","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"xxiaoweii"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"xxiaoweii"},"content":" throw new DetailsUnknownException();","lastModifiedDate":"2023-08-31"},{"lineNumber":104,"author":{"gitId":"xxiaoweii"},"content":" } catch (IncompleteMessageException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"xxiaoweii"},"content":" e.getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":107,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":108,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":109,"author":{"gitId":"xxiaoweii"},"content":" public void handleTodo(String userInput, String keyword) throws IncompleteMessageException, DetailsUnknownException {","lastModifiedDate":"2023-08-31"},{"lineNumber":110,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003c\u003d keyword.length() + 1) {","lastModifiedDate":"2023-08-31"},{"lineNumber":111,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"duke.ToDo\");","lastModifiedDate":"2023-08-31"},{"lineNumber":112,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":113,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":114,"author":{"gitId":"xxiaoweii"},"content":" String taskDescription \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":115,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":116,"author":{"gitId":"xxiaoweii"},"content":" ToDo task \u003d new ToDo(taskDescription);","lastModifiedDate":"2023-08-31"},{"lineNumber":117,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.addTask(task);","lastModifiedDate":"2023-08-31"},{"lineNumber":118,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":119,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":119}},{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.Parser;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.Task;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" private LocalDateTime time;","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" public Deadline(String task, String deadlineDetails) {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" LocalDateTime dueDateTime \u003d Parser.formatDate(deadlineDetails);","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" this.time \u003d dueDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" public LocalDateTime getTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" return this.time;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" String timeToString \u003d Parser.dateToString(this.time);","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" return \"[D]\" + super.toString() + \" (by: \" + timeToString + \")\";","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":27}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.UnknownCommandException;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.ChattyException;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" private Messages messages;","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" private TaskList tasklist;","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" private Storage storage;","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" public Duke() {","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" this.messages \u003d new Messages();","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" this.tasklist \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" tasklist \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" storage.loadTask();","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" tasklist \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" } catch (DetailsUnknownException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" e.getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" new Duke(\"Level7File/tasks.txt\").startChatting();","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" public void startChatting() {","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" Messages.Greet();","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" String exitC \u003d \"bye\";","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" String listC \u003d \"list\";","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" String deleteC \u003d \"delete\";","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" String doneC \u003d \"mark\";","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" String undoneC \u003d \"unmark\";","lastModifiedDate":"2023-08-31"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" String deadlineC \u003d \"deadline\";","lastModifiedDate":"2023-08-31"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" String eventC \u003d \"event\";","lastModifiedDate":"2023-08-31"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" String todoC \u003d \"todo\";","lastModifiedDate":"2023-08-31"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" String userInput;","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" do {","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" userInput \u003d ui.getInput();","lastModifiedDate":"2023-08-31"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" Command command \u003d new Command(tasklist, ui);","lastModifiedDate":"2023-08-31"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" if (!userInput.equalsIgnoreCase(exitC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.equalsIgnoreCase(listC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" command.handleList();","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(deleteC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" command.handleDelete(userInput, deleteC);","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(doneC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":" command.handleDone(userInput, doneC);","lastModifiedDate":"2023-08-31"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(undoneC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" command.handleUndone(userInput, undoneC);","lastModifiedDate":"2023-08-31"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(deadlineC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" command.handleDeadline(userInput, deadlineC);","lastModifiedDate":"2023-08-31"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(eventC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":" command.handleEvent(userInput, eventC);","lastModifiedDate":"2023-08-31"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(todoC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" command.handleTodo(userInput, todoC);","lastModifiedDate":"2023-08-31"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-08-31"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":" throw new UnknownCommandException();","lastModifiedDate":"2023-08-31"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":76,"author":{"gitId":"xxiaoweii"},"content":" storage.saveTaskToFile();","lastModifiedDate":"2023-08-31"},{"lineNumber":77,"author":{"gitId":"xxiaoweii"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":78,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Error parsing date and time: \" + e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":79,"author":{"gitId":"xxiaoweii"},"content":" } catch (DetailsUnknownException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":80,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":81,"author":{"gitId":"xxiaoweii"},"content":" } catch (UnknownCommandException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":83,"author":{"gitId":"xxiaoweii"},"content":" } catch (ChattyException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":84,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":85,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":86,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":87,"author":{"gitId":"xxiaoweii"},"content":" } while (!userInput.equalsIgnoreCase(exitC));","lastModifiedDate":"2023-08-31"},{"lineNumber":88,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":89,"author":{"gitId":"xxiaoweii"},"content":" this.messages.Exit();","lastModifiedDate":"2023-08-31"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":91,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"xxiaoweii":87,"-":4}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.Parser;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.Task;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" private LocalDateTime startDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" private LocalDateTime endDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" public Event(String task, String startDetails, String endDetails) {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" this.startDateTime \u003d Parser.formatDate(startDetails);","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" this.endDateTime \u003d Parser.formatDate(endDetails);","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" public Event(String task, String dateTimeDetails) throws DetailsUnknownException {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" String[] timeArr \u003d Parser.splitEventDateTime(dateTimeDetails); // return [start time, end time]","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" this.startDateTime \u003d Parser.formatDate(timeArr[0]);","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" this.endDateTime \u003d Parser.formatDate(timeArr[1]);","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" throw new DetailsUnknownException();","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" public LocalDateTime getStartDateTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" return this.startDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" public LocalDateTime getEndDateTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" return this.endDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" String formattedStart \u003d Parser.dateToString(startDateTime);","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" String formattedEnd \u003d Parser.dateToString(endDateTime);","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" return \"[E]\" + super.toString() + \" (from: \" + formattedStart + \" to: \" + formattedEnd + \") \";","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":46}},{"path":"src/main/java/duke/Messages.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class Messages {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" public Messages() {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" Messages.Greet();","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" Ui ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" public static final void Greet() {","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Hello! I\u0027m Chatty!\");","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"What can I do for you today? \");","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" public static final void Exit() {","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Bye bye! Hope to see you again soon\");","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"xxiaoweii":18}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"public class Parser {","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" public static LocalDateTime formatDate(String dateTimeString) {","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HHmm\");","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" LocalDateTime parseDate \u003d LocalDateTime.parse(dateTimeString, formatter);","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" return parseDate;","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" public static String dateToString(LocalDateTime dateTime) {","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" DateTimeFormatter outputFormatter \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy h:mma\");","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" String formattedDate \u003d dateTime.format(outputFormatter);","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" return formattedDate;","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitInput(String oriInput) {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" // split the input into at most 2 parts to get the task type and the task details","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" return oriInput.split(\" \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitDeadlineDetails(String oriInput) {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" // split the input to get the deadline task description and deadline time","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" return oriInput.split(\"/by \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitEventDetails(String oriInput) {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" // split the input to get the event task description and the date time details","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" return oriInput.split(\"/from \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitEventDateTime(String input) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" // split the input again to get the start time of the event and the end time of the event","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" return input.split(\" /to \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":39}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.Task;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.TaskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.ToDo;","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"import java.io.*;","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":"public class Storage {","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" private String filePath;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" public void saveTaskToFile() {","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(this.filePath));","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" StringBuilder tasks \u003d new StringBuilder();","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" for (Task task: TaskList.getList()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" tasks.append(task.getStatus()).append(\" | \").append(task.getTaskType(task)).append(\"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" writer.write(tasks.toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" writer.close();","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"An error occur while trying to save tasks: \" + e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" public void loadTask() throws IOException, DetailsUnknownException {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" File file \u003d new File(this.filePath);","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" file.getParentFile().mkdirs();","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" file.createNewFile();","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" Scanner scanner \u003d new Scanner(file);","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" while (scanner.hasNext()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" String taskData \u003d scanner.nextLine();","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" String[] keywords \u003d taskData.split(\" \\\\|\\\\| \");","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" Task currT \u003d null;","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" switch (keywords[0]) {","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" case \"T\":","lastModifiedDate":"2023-08-31"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" currT \u003d new ToDo(keywords[2]);","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" case \"D\":","lastModifiedDate":"2023-08-31"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" currT \u003d new Deadline(keywords[2], keywords[3]);","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" case \"E\":","lastModifiedDate":"2023-08-31"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" currT \u003d new Event(keywords[2], keywords[3]);","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" default:","lastModifiedDate":"2023-08-31"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Error: Unknown task type. \");","lastModifiedDate":"2023-08-31"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" if (keywords[1].equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" currT.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" TaskList.getList().add(currT);","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" scanner.close();","lastModifiedDate":"2023-08-31"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":69}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" private String task;","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" private boolean isDone;","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" public Task(String task) {","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" this.task \u003d task;","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" public Task() {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" this.task \u003d \" \";","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" public void markDone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" public void markUndone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" public String getStatus() {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" if (isDone) {","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" return \"1\";","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" return \"0\";","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" public String getTaskType(Task task) {","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" if (task instanceof Event) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" return \"E | \" + this.task + \"| \" + ((Event) task).getStartDateTime() + \" to \" + ((Event) task).getEndDateTime();","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" } else if (task instanceof Deadline) {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" return \"D | \" + this.task + \"| \" + ((Deadline) task).getTime();","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" } else if (task instanceof ToDo) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" return \"T | \" + this.task;","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" return \"Unknown\";","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-23"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-23"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" return \"[\" + (this.isDone? \"X\" : \" \") + \"] \" + this.task;","lastModifiedDate":"2023-08-23"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"xxiaoweii":50}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"public class TaskList {","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" private static ArrayList\u003cTask\u003e listOfTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" listOfTasks.add(task);","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Got it. I\u0027ve added this task: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(task.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Now you have \" + listOfTasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" public void deleteTask(int index) {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" Task removedTask \u003d listOfTasks.remove(index - 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Noted. I\u0027ve removed this task: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(removedTask.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Now you have \" + listOfTasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" public void listOutTasks() {","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" if (listOfTasks.isEmpty()) {","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"There is currently no task in your list.\");","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Here are the tasks in your list: \");","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" for (int i \u003d 0; i \u003c listOfTasks.size(); i++) {","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" System.out.println((i + 1) + \".\" + listOfTasks.get(i));","lastModifiedDate":"2023-08-23"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" public void markAsDone(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" listOfTasks.get(i - 1).markDone();","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\\n \" + listOfTasks.get(i - 1));","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" public void markAsUndone(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" listOfTasks.get(i - 1).markUndone();","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n \" + listOfTasks.get(i - 1));","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" public int numOfTasks() {","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" return listOfTasks.size();","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" public static ArrayList\u003cTask\u003e getList() {","lastModifiedDate":"2023-08-31"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" return listOfTasks;","lastModifiedDate":"2023-08-31"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"xxiaoweii":50}},{"path":"src/main/java/duke/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public ToDo(String task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":13}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"public class Ui {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" private Scanner scanner;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" public Ui() {","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" this.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" public String getInput() {","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" return this.scanner.nextLine();","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":16}},{"path":"src/main/java/duke/exception/ChattyException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class ChattyException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public ChattyException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(message);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":8}},{"path":"src/main/java/duke/exception/DetailsUnknownException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class DetailsUnknownException extends ChattyException {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" public DetailsUnknownException() {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" super(\"The details are missing. Please check your input again\");","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":9}},{"path":"src/main/java/duke/exception/IncompleteMessageException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class IncompleteMessageException extends ChattyException {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public IncompleteMessageException(String errorMessage) {","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(\"The command you entered is incomplete. Please give me more information.\");","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":7}},{"path":"src/main/java/duke/exception/InvalidTaskNumberException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class InvalidTaskNumberException extends ChattyException {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" public InvalidTaskNumberException() {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" super(\"The task number you have entered is invalid, please double check.\");","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":8}},{"path":"src/main/java/duke/exception/UnknownCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class UnknownCommandException extends ChattyException {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public UnknownCommandException() {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(\"Sorry, I don\u0027t understand what that means.\");","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":7}},{"path":"src/test/java/DeadlineTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"public class DeadlineTest {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" @Test","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" public void testStringConversion() {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" assertEquals(\"[D][ ] Complete iP (by: Sep 05 2023 2:00PM)\", new Deadline(\"Complete iP\", \"2023-09-05 1400\").toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"xxiaoweii":13}},{"path":"src/test/java/ToDoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.ToDo;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"public class ToDoTest {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" @Test","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" public void testStringConversion() {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" assertEquals(\"[T][ ] Complete iP\", new ToDo(\"Complete iP\").toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"xxiaoweii":13}}] +[{"path":"Level7File/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"0","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"0","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":2}},{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"# duke.Duke project template","lastModifiedDate":"2023-08-31"},{"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":"xxiaoweii"},"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-31"},{"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":{"xxiaoweii":2,"-":22}},{"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":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":15,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }","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":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" mainClass.set(\"duke.Duke\")","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"xxiaoweii":1,"-":41}},{"path":"src/main/java/duke/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.IncompleteMessageException;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.InvalidTaskNumberException;","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"public class Command {","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" private TaskList taskList;","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for Command class","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" * @param tasklist list of task created when the program runs","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" * @param ui the Ui object created when the program runs","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" public Command(TaskList tasklist, Ui ui) {","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" this.taskList \u003d tasklist;","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" this.ui \u003d ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" * method to handle the list command from user. Calls the listOutTask() method from TaskList","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" public void handleList() {","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.listOutTasks();","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" * method to handle the delete command from user.","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" * Check if the user entered the command in the correct format. Else throw the relevant exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" * @param userInput the input entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" * @param keyword the key command word i.e. delete entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" * @throws IncompleteMessageException when user did not specify what task to delete","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" * @throws InvalidTaskNumberException when user specify a task number that does not exist","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" public void handleDelete(String userInput, String keyword) throws IncompleteMessageException, InvalidTaskNumberException {","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"Delete\");","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" String getIndex \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" int taskIndex \u003d Integer.parseInt(getIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" if (taskIndex \u003e this.taskList.numOfTasks()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" throw new InvalidTaskNumberException();","lastModifiedDate":"2023-08-31"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.deleteTask(taskIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" * method that handles the mark done command from user.","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" * Check if the user entered the command in the correct format. Else throw the relevant exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" * @param userInput the input entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" * @param keyword the key command word i.e. mark entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" * @throws IncompleteMessageException when user did not specify what task to mark done","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" * @throws InvalidTaskNumberException when user specify a task number that does not exist","lastModifiedDate":"2023-09-03"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" public void handleDone(String userInput, String keyword) throws IncompleteMessageException, InvalidTaskNumberException {","lastModifiedDate":"2023-08-31"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"Done\");","lastModifiedDate":"2023-08-31"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" String getIndex \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":" int taskIndex \u003d Integer.parseInt(getIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" if (taskIndex \u003e this.taskList.numOfTasks()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" throw new InvalidTaskNumberException();","lastModifiedDate":"2023-08-31"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.markAsDone(taskIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":76,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":77,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":78,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"xxiaoweii"},"content":" * method that handles the unmark done command from user.","lastModifiedDate":"2023-09-03"},{"lineNumber":80,"author":{"gitId":"xxiaoweii"},"content":" * Check if the user entered the command in the correct format. Else throw the relevant exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":81,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":82,"author":{"gitId":"xxiaoweii"},"content":" * @param userInput the input entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":83,"author":{"gitId":"xxiaoweii"},"content":" * @param keyword the key command word i.e. unmark entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":84,"author":{"gitId":"xxiaoweii"},"content":" * @throws IncompleteMessageException when user did not specify what task to mark undone","lastModifiedDate":"2023-09-03"},{"lineNumber":85,"author":{"gitId":"xxiaoweii"},"content":" * @throws InvalidTaskNumberException when user specify a task number that does not exist","lastModifiedDate":"2023-09-03"},{"lineNumber":86,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":87,"author":{"gitId":"xxiaoweii"},"content":" public void handleUndone(String userInput, String keyword) throws IncompleteMessageException, InvalidTaskNumberException {","lastModifiedDate":"2023-08-31"},{"lineNumber":88,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":89,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"Undone\");","lastModifiedDate":"2023-08-31"},{"lineNumber":90,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":91,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":92,"author":{"gitId":"xxiaoweii"},"content":" String getIndex \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":93,"author":{"gitId":"xxiaoweii"},"content":" int taskIndex \u003d Integer.parseInt(getIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":94,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":95,"author":{"gitId":"xxiaoweii"},"content":" if (taskIndex \u003e this.taskList.numOfTasks()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":96,"author":{"gitId":"xxiaoweii"},"content":" throw new InvalidTaskNumberException();","lastModifiedDate":"2023-08-31"},{"lineNumber":97,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":98,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":99,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.markAsUndone(taskIndex);","lastModifiedDate":"2023-08-31"},{"lineNumber":100,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":101,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":102,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":103,"author":{"gitId":"xxiaoweii"},"content":" * method that handles the addition of deadline task.","lastModifiedDate":"2023-09-03"},{"lineNumber":104,"author":{"gitId":"xxiaoweii"},"content":" * check if the necessary details such as the deadline are entered and whether they are in the right format.","lastModifiedDate":"2023-09-03"},{"lineNumber":105,"author":{"gitId":"xxiaoweii"},"content":" * Else throw the relevant exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":106,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":107,"author":{"gitId":"xxiaoweii"},"content":" * @param userInput the input entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":108,"author":{"gitId":"xxiaoweii"},"content":" * @param keyword the key command word i.e. deadline entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":109,"author":{"gitId":"xxiaoweii"},"content":" * @throws IncompleteMessageException when the user only enter the keyword deadline with no other details","lastModifiedDate":"2023-09-03"},{"lineNumber":110,"author":{"gitId":"xxiaoweii"},"content":" * @throws DetailsUnknownException when user did not enter the deadline of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":111,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":112,"author":{"gitId":"xxiaoweii"},"content":" public void handleDeadline(String userInput, String keyword) throws IncompleteMessageException, DetailsUnknownException {","lastModifiedDate":"2023-08-31"},{"lineNumber":113,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":114,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":115,"author":{"gitId":"xxiaoweii"},"content":" String[] inputToArr \u003d Parser.splitInput(userInput); //return [keyword, task /by time]","lastModifiedDate":"2023-09-01"},{"lineNumber":116,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":117,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":118,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"D\");","lastModifiedDate":"2023-09-01"},{"lineNumber":119,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":120,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":121,"author":{"gitId":"xxiaoweii"},"content":" String[] taskArr \u003d Parser.splitDeadlineDetails(inputToArr[1]); // return [task, /by time]","lastModifiedDate":"2023-09-01"},{"lineNumber":122,"author":{"gitId":"xxiaoweii"},"content":" String taskDescription \u003d taskArr[0];","lastModifiedDate":"2023-09-01"},{"lineNumber":123,"author":{"gitId":"xxiaoweii"},"content":" String taskTime \u003d taskArr[1];","lastModifiedDate":"2023-09-01"},{"lineNumber":124,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":125,"author":{"gitId":"xxiaoweii"},"content":" Deadline deadline \u003d new Deadline(taskDescription, taskTime);","lastModifiedDate":"2023-09-01"},{"lineNumber":126,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.addTask(deadline);","lastModifiedDate":"2023-09-01"},{"lineNumber":127,"author":{"gitId":"xxiaoweii"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":128,"author":{"gitId":"xxiaoweii"},"content":" throw new DetailsUnknownException();","lastModifiedDate":"2023-08-31"},{"lineNumber":129,"author":{"gitId":"xxiaoweii"},"content":" } catch (IncompleteMessageException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":130,"author":{"gitId":"xxiaoweii"},"content":" e.getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":131,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":132,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":133,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":134,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":135,"author":{"gitId":"xxiaoweii"},"content":" * method that handles the addition of event task.","lastModifiedDate":"2023-09-03"},{"lineNumber":136,"author":{"gitId":"xxiaoweii"},"content":" * check if the necessary details such as the start and end timing are entered and whether they are in the right format.","lastModifiedDate":"2023-09-03"},{"lineNumber":137,"author":{"gitId":"xxiaoweii"},"content":" * Else throw the relevant exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":138,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":139,"author":{"gitId":"xxiaoweii"},"content":" * @param userInput the input entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":140,"author":{"gitId":"xxiaoweii"},"content":" * @param keyword the key command word i.e. event entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":141,"author":{"gitId":"xxiaoweii"},"content":" * @throws IncompleteMessageException when the user only enter the keyword deadline with no other details","lastModifiedDate":"2023-09-03"},{"lineNumber":142,"author":{"gitId":"xxiaoweii"},"content":" * @throws DetailsUnknownException when user did not enter the start or end timing of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":143,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":144,"author":{"gitId":"xxiaoweii"},"content":" public void handleEvent(String userInput, String keyword) throws IncompleteMessageException, DetailsUnknownException {","lastModifiedDate":"2023-08-31"},{"lineNumber":145,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":146,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":147,"author":{"gitId":"xxiaoweii"},"content":" String[] inputToArr \u003d Parser.splitInput(userInput); // return [kw, task /from time /to time]","lastModifiedDate":"2023-09-01"},{"lineNumber":148,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":149,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003d\u003d keyword.length()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":150,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"E\");","lastModifiedDate":"2023-09-01"},{"lineNumber":151,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":152,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":153,"author":{"gitId":"xxiaoweii"},"content":" String[] taskArr \u003d Parser.splitEventDetails(inputToArr[1]); // return [task, /from time /to time]","lastModifiedDate":"2023-09-01"},{"lineNumber":154,"author":{"gitId":"xxiaoweii"},"content":" String taskDescription \u003d taskArr[0];","lastModifiedDate":"2023-09-01"},{"lineNumber":155,"author":{"gitId":"xxiaoweii"},"content":" String taskTime \u003d taskArr[1];","lastModifiedDate":"2023-09-01"},{"lineNumber":156,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":157,"author":{"gitId":"xxiaoweii"},"content":" Event event \u003d new Event(taskDescription, taskTime);","lastModifiedDate":"2023-09-01"},{"lineNumber":158,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.addTask(event);","lastModifiedDate":"2023-09-01"},{"lineNumber":159,"author":{"gitId":"xxiaoweii"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":160,"author":{"gitId":"xxiaoweii"},"content":" throw new DetailsUnknownException();","lastModifiedDate":"2023-08-31"},{"lineNumber":161,"author":{"gitId":"xxiaoweii"},"content":" } catch (IncompleteMessageException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":162,"author":{"gitId":"xxiaoweii"},"content":" e.getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":163,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":164,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":165,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":166,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":167,"author":{"gitId":"xxiaoweii"},"content":" * method that handles the addition of todo task.","lastModifiedDate":"2023-09-03"},{"lineNumber":168,"author":{"gitId":"xxiaoweii"},"content":" * check if the necessary details such as the task details and whether they are in the right format.","lastModifiedDate":"2023-09-03"},{"lineNumber":169,"author":{"gitId":"xxiaoweii"},"content":" * Else throw the relevant exception.","lastModifiedDate":"2023-09-03"},{"lineNumber":170,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":171,"author":{"gitId":"xxiaoweii"},"content":" * @param userInput the input entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":172,"author":{"gitId":"xxiaoweii"},"content":" * @param keyword the key command word i.e. todo entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":173,"author":{"gitId":"xxiaoweii"},"content":" * @throws IncompleteMessageException when the user only enter the keyword todo with no other details","lastModifiedDate":"2023-09-03"},{"lineNumber":174,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":175,"author":{"gitId":"xxiaoweii"},"content":" public void handleTodo(String userInput, String keyword) throws IncompleteMessageException {","lastModifiedDate":"2023-09-03"},{"lineNumber":176,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.length() \u003c\u003d keyword.length() + 1) {","lastModifiedDate":"2023-08-31"},{"lineNumber":177,"author":{"gitId":"xxiaoweii"},"content":" throw new IncompleteMessageException(\"duke.ToDo\");","lastModifiedDate":"2023-08-31"},{"lineNumber":178,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":179,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":180,"author":{"gitId":"xxiaoweii"},"content":" String taskDescription \u003d userInput.substring(keyword.length() + 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":181,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":182,"author":{"gitId":"xxiaoweii"},"content":" ToDo task \u003d new ToDo(taskDescription);","lastModifiedDate":"2023-08-31"},{"lineNumber":183,"author":{"gitId":"xxiaoweii"},"content":" this.taskList.addTask(task);","lastModifiedDate":"2023-08-31"},{"lineNumber":184,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":185,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":185}},{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" private LocalDateTime time;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for Deadline class","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" * @param task the task description","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" * @param deadlineDetails the deadline of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" public Deadline(String task, String deadlineDetails) {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" LocalDateTime dueDateTime \u003d Parser.formatDate(deadlineDetails);","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" this.time \u003d dueDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" * A getter to get the deadline of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" * @return the deadline of this task","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" public LocalDateTime getTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" return this.time;","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" String timeToString \u003d Parser.dateToString(this.time);","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" return \"[D]\" + super.toString() + \" (by: \" + timeToString + \")\";","lastModifiedDate":"2023-08-31"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":35}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.UnknownCommandException;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.ChattyException;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" private Messages messages;","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" private TaskList tasklist;","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" private Storage storage;","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" * An empty constructor for Duke","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" public Duke() {","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" this.messages \u003d new Messages();","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" this.tasklist \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for Duke. Takes in the path of the file as argument. Load the file if the file exists.","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" * @param filePath the path to the file","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-08-31"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-08-31"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" tasklist \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" storage.loadTask();","lastModifiedDate":"2023-08-31"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" tasklist \u003d new TaskList();","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" } catch (DetailsUnknownException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" e.getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" * invoke the startChatting() method for the chatbot to start running","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" * @param args","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" new Duke(\"Level7File/tasks.txt\").startChatting();","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" * Run the chatbot depending on what command the user entered","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" public void startChatting() {","lastModifiedDate":"2023-08-31"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" Messages.Greet();","lastModifiedDate":"2023-08-31"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" String exitC \u003d \"bye\";","lastModifiedDate":"2023-08-31"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" String listC \u003d \"list\";","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" String deleteC \u003d \"delete\";","lastModifiedDate":"2023-08-31"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":" String doneC \u003d \"mark\";","lastModifiedDate":"2023-08-31"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" String undoneC \u003d \"unmark\";","lastModifiedDate":"2023-08-31"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" String deadlineC \u003d \"deadline\";","lastModifiedDate":"2023-08-31"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" String eventC \u003d \"event\";","lastModifiedDate":"2023-08-31"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" String todoC \u003d \"todo\";","lastModifiedDate":"2023-08-31"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":" String userInput;","lastModifiedDate":"2023-08-31"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" do {","lastModifiedDate":"2023-08-31"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" userInput \u003d ui.getInput();","lastModifiedDate":"2023-08-31"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":" Command command \u003d new Command(tasklist, ui);","lastModifiedDate":"2023-08-31"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":" if (!userInput.equalsIgnoreCase(exitC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":76,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":77,"author":{"gitId":"xxiaoweii"},"content":" if (userInput.equalsIgnoreCase(listC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":78,"author":{"gitId":"xxiaoweii"},"content":" command.handleList();","lastModifiedDate":"2023-08-31"},{"lineNumber":79,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(deleteC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":80,"author":{"gitId":"xxiaoweii"},"content":" command.handleDelete(userInput, deleteC);","lastModifiedDate":"2023-08-31"},{"lineNumber":81,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(doneC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"xxiaoweii"},"content":" command.handleDone(userInput, doneC);","lastModifiedDate":"2023-08-31"},{"lineNumber":83,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(undoneC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":84,"author":{"gitId":"xxiaoweii"},"content":" command.handleUndone(userInput, undoneC);","lastModifiedDate":"2023-08-31"},{"lineNumber":85,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(deadlineC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":86,"author":{"gitId":"xxiaoweii"},"content":" command.handleDeadline(userInput, deadlineC);","lastModifiedDate":"2023-08-31"},{"lineNumber":87,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(eventC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":88,"author":{"gitId":"xxiaoweii"},"content":" command.handleEvent(userInput, eventC);","lastModifiedDate":"2023-08-31"},{"lineNumber":89,"author":{"gitId":"xxiaoweii"},"content":" } else if (userInput.startsWith(todoC)) {","lastModifiedDate":"2023-08-31"},{"lineNumber":90,"author":{"gitId":"xxiaoweii"},"content":" command.handleTodo(userInput, todoC);","lastModifiedDate":"2023-08-31"},{"lineNumber":91,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-08-31"},{"lineNumber":92,"author":{"gitId":"xxiaoweii"},"content":" throw new UnknownCommandException();","lastModifiedDate":"2023-08-31"},{"lineNumber":93,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":94,"author":{"gitId":"xxiaoweii"},"content":" storage.saveTaskToFile();","lastModifiedDate":"2023-08-31"},{"lineNumber":95,"author":{"gitId":"xxiaoweii"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":96,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Error parsing date and time: \" + e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":97,"author":{"gitId":"xxiaoweii"},"content":" } catch (DetailsUnknownException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":98,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":99,"author":{"gitId":"xxiaoweii"},"content":" } catch (UnknownCommandException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":100,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":101,"author":{"gitId":"xxiaoweii"},"content":" } catch (ChattyException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":102,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":103,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":104,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":105,"author":{"gitId":"xxiaoweii"},"content":" } while (!userInput.equalsIgnoreCase(exitC));","lastModifiedDate":"2023-08-31"},{"lineNumber":106,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":107,"author":{"gitId":"xxiaoweii"},"content":" this.messages.Exit();","lastModifiedDate":"2023-08-31"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":109,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"xxiaoweii":105,"-":4}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" private LocalDateTime startDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" private LocalDateTime endDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for the Event class.","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" * Extract the start and end details of the event task","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" * @param task the task description of the task entered by user","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" * @param dateTimeDetails the details of the event task such as its start and end timing","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" * @throws DetailsUnknownException throws details unknown exception if the start or end details of the event task is missing","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" public Event(String task, String dateTimeDetails) throws DetailsUnknownException {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" String[] timeArr \u003d Parser.splitEventDateTime(dateTimeDetails); // return [start time, end time]","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" this.startDateTime \u003d Parser.formatDate(timeArr[0]);","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" this.endDateTime \u003d Parser.formatDate(timeArr[1]);","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" } catch (ArrayIndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" throw new DetailsUnknownException();","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" * A getter to get the start details of this event task","lastModifiedDate":"2023-09-03"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" * @return the start details of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" public LocalDateTime getStartDateTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" return this.startDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" * A getter to get the end details of this event task","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" * @return the end details of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" public LocalDateTime getEndDateTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" return this.endDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" String formattedStart \u003d Parser.dateToString(startDateTime);","lastModifiedDate":"2023-08-31"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" String formattedEnd \u003d Parser.dateToString(endDateTime);","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" return \"[E]\" + super.toString() + \" (from: \" + formattedStart + \" to: \" + formattedEnd + \") \";","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":55}},{"path":"src/main/java/duke/Messages.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class Messages {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for the Message class","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" * Print the greeting message and create a new Ui object to allow for user input","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" public Messages() {","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" Messages.Greet();","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" Ui ui \u003d new Ui();","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" * Print the greeting message when called","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" public static final void Greet() {","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Hello! I\u0027m Chatty!\");","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"What can I do for you today? \");","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" * Print the exit message when called","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" public static final void Exit() {","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Bye bye! Hope to see you again soon\");","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"xxiaoweii":28}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"public class Parser {","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" * Parses the input date from String to LocalDateTime format","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" * @param dateTimeString the date and time details in String","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" * @return the date and time in LocalDateTime format","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" public static LocalDateTime formatDate(String dateTimeString) {","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HHmm\");","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" LocalDateTime parseDate \u003d LocalDateTime.parse(dateTimeString, formatter);","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" return parseDate;","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" * Parses the input date from LocalDateTime format to String","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" * @param dateTime the date and time details in LocalDateTime format","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" * @return the date and time in String format","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" public static String dateToString(LocalDateTime dateTime) {","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" DateTimeFormatter outputFormatter \u003d DateTimeFormatter.ofPattern(\"MMM dd yyyy h:mma\");","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" String formattedDate \u003d dateTime.format(outputFormatter);","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" return formattedDate;","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" * Split the user input into 2 parts, the keyword and the other details, including task description","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" * @param oriInput the original input by user","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" * @return a String array with the keyword at index 0 and the other details at index 1","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitInput(String oriInput) {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" // split the input into at most 2 parts to get the task type and the task details","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" return oriInput.split(\" \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" * split the input into 2 parts, the task description and the deadline of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" * @param oriInput the input which includes the task description and the deadline of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" * @return a String[] with the task description at index 0 and deadline at index 1","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitDeadlineDetails(String oriInput) {","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" // split the input to get the deadline task description and deadline time","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" return oriInput.split(\"/by \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" * split the input into 2 parts, the event task description and the start and end details of the event","lastModifiedDate":"2023-09-03"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" * @param oriInput the input which includes the task description and the start and end details","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" * @return a String[] with the event task description at index 0 and the start and end details at index 1","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitEventDetails(String oriInput) {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" // split the input to get the event task description and the date time details","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" return oriInput.split(\"/from \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" * split the start and end details into 2 parts","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" * @param input the input which is a String with the start and end details of the event task","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":" * @return a String[] with the start detail at index 0 and the end detail at index 1","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" public static String[] splitEventDateTime(String input) {","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" // split the input again to get the start time of the event and the end time of the event","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":" return input.split(\" /to \", 2);","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":75}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import duke.exception.DetailsUnknownException;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import java.io.*;","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"public class Storage {","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" private String filePath;","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for Storage class","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" * @param filePath the path to the storage file","lastModifiedDate":"2023-09-03"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" * Saves all the tasks added into the storage file","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" * @throws IOException if the storage file cannot be found","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" public void saveTaskToFile() {","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" BufferedWriter writer \u003d new BufferedWriter(new FileWriter(this.filePath));","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" StringBuilder tasks \u003d new StringBuilder();","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" for (Task task: TaskList.getList()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" tasks.append(task.getStatus()).append(\" | \").append(task.getTaskType(task)).append(\"\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" writer.write(tasks.toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" writer.close();","lastModifiedDate":"2023-08-31"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"An error occur while trying to save tasks: \" + e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" * Load the task from the file storage to the user interface","lastModifiedDate":"2023-09-03"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" * @throws IOException if the storage file cannot be found","lastModifiedDate":"2023-09-03"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" public void loadTask() throws IOException, DetailsUnknownException {","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" File file \u003d new File(this.filePath);","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" file.getParentFile().mkdirs();","lastModifiedDate":"2023-08-31"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" file.createNewFile();","lastModifiedDate":"2023-08-31"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" Scanner scanner \u003d new Scanner(file);","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" while (scanner.hasNext()) {","lastModifiedDate":"2023-08-31"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" String taskData \u003d scanner.nextLine();","lastModifiedDate":"2023-08-31"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" String[] keywords \u003d taskData.split(\" \\\\|\\\\| \");","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" Task currT \u003d null;","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" switch (keywords[0]) {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" case \"T\":","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" currT \u003d new ToDo(keywords[2]);","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" case \"D\":","lastModifiedDate":"2023-08-31"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":" currT \u003d new Deadline(keywords[2], keywords[3]);","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" case \"E\":","lastModifiedDate":"2023-08-31"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" currT \u003d new Event(keywords[2], keywords[3]);","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":" default:","lastModifiedDate":"2023-08-31"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Error: Unknown task type. \");","lastModifiedDate":"2023-08-31"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" break;","lastModifiedDate":"2023-08-31"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":" if (keywords[1].equals(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":" currT.markDone();","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":77,"author":{"gitId":"xxiaoweii"},"content":" TaskList.getList().add(currT);","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":79,"author":{"gitId":"xxiaoweii"},"content":" scanner.close();","lastModifiedDate":"2023-08-31"},{"lineNumber":80,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":81,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":81}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" private String task;","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" private boolean isDone;","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for Task class","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" * @param task the task description","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" public Task(String task) {","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" this.task \u003d task;","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" * Mark the task as done","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" public void markDone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" * Mark the task as not done","lastModifiedDate":"2023-09-03"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" public void markUndone() {","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" * Get the status of the task","lastModifiedDate":"2023-09-03"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" * @return 1 represents done and 0 represents not done","lastModifiedDate":"2023-09-03"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" public String getStatus() {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" if (isDone) {","lastModifiedDate":"2023-08-31"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" return \"1\";","lastModifiedDate":"2023-08-31"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-08-31"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" return \"0\";","lastModifiedDate":"2023-08-31"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" * Get the type of the task: Event, ToDo or Deadline","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" * @param task the task to check for task type","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" * @return \"E\", \"D\" or \"T\", which stands for Event task, todo task and deadline task respectively","lastModifiedDate":"2023-09-03"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" public String getTaskType(Task task) {","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" if (task instanceof Event) {","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":" return \"E | \" + this.task + \"| \" + ((Event) task).getStartDateTime() + \" to \" + ((Event) task).getEndDateTime();","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" } else if (task instanceof Deadline) {","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" return \"D | \" + this.task + \"| \" + ((Deadline) task).getTime();","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" } else if (task instanceof ToDo) {","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" return \"T | \" + this.task;","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" return \"Unknown\";","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-23"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" return \"[\" + (this.isDone? \"X\" : \" \") + \"] \" + this.task;","lastModifiedDate":"2023-08-23"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"xxiaoweii":69}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"public class TaskList {","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" private static ArrayList\u003cTask\u003e listOfTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" * Method to add a new task into the task list.","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" * @param task the task to be added","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" listOfTasks.add(task);","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Got it. I\u0027ve added this task: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(task.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Now you have \" + listOfTasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" * Method to delete the task from the list","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" * @param index the index of the task to be removed","lastModifiedDate":"2023-09-03"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":" public void deleteTask(int index) {","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":" Task removedTask \u003d listOfTasks.remove(index - 1);","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Noted. I\u0027ve removed this task: \");","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(removedTask.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Now you have \" + listOfTasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":33,"author":{"gitId":"xxiaoweii"},"content":" * List out the current task list when the command word is entered","lastModifiedDate":"2023-09-03"},{"lineNumber":34,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":35,"author":{"gitId":"xxiaoweii"},"content":" public void listOutTasks() {","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"xxiaoweii"},"content":" if (listOfTasks.isEmpty()) {","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"There is currently no task in your list.\");","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"xxiaoweii"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Here are the tasks in your list: \");","lastModifiedDate":"2023-08-23"},{"lineNumber":40,"author":{"gitId":"xxiaoweii"},"content":" for (int i \u003d 0; i \u003c listOfTasks.size(); i++) {","lastModifiedDate":"2023-08-23"},{"lineNumber":41,"author":{"gitId":"xxiaoweii"},"content":" System.out.println((i + 1) + \".\" + listOfTasks.get(i));","lastModifiedDate":"2023-08-23"},{"lineNumber":42,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":43,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":44,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":45,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":47,"author":{"gitId":"xxiaoweii"},"content":" * handle the mark done request from user. Call the markDone() method from the task class","lastModifiedDate":"2023-09-03"},{"lineNumber":48,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":49,"author":{"gitId":"xxiaoweii"},"content":" * @param i the index of the task to be mark as done","lastModifiedDate":"2023-09-03"},{"lineNumber":50,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":51,"author":{"gitId":"xxiaoweii"},"content":" public void markAsDone(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":52,"author":{"gitId":"xxiaoweii"},"content":" listOfTasks.get(i - 1).markDone();","lastModifiedDate":"2023-08-31"},{"lineNumber":53,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"Nice! I\u0027ve marked this task as done:\\n \" + listOfTasks.get(i - 1));","lastModifiedDate":"2023-08-31"},{"lineNumber":54,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":55,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":56,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":57,"author":{"gitId":"xxiaoweii"},"content":" * handle the mark undone request from user. Call the markDAsUndone() method from the task class","lastModifiedDate":"2023-09-03"},{"lineNumber":58,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":59,"author":{"gitId":"xxiaoweii"},"content":" * @param i the index of the task to be mark as undone","lastModifiedDate":"2023-09-03"},{"lineNumber":60,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":61,"author":{"gitId":"xxiaoweii"},"content":" public void markAsUndone(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":62,"author":{"gitId":"xxiaoweii"},"content":" listOfTasks.get(i - 1).markUndone();","lastModifiedDate":"2023-08-31"},{"lineNumber":63,"author":{"gitId":"xxiaoweii"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n \" + listOfTasks.get(i - 1));","lastModifiedDate":"2023-08-31"},{"lineNumber":64,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":65,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":67,"author":{"gitId":"xxiaoweii"},"content":" * return the number of task currently in the task list","lastModifiedDate":"2023-09-03"},{"lineNumber":68,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":69,"author":{"gitId":"xxiaoweii"},"content":" * @return the number of task in the list","lastModifiedDate":"2023-09-03"},{"lineNumber":70,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":71,"author":{"gitId":"xxiaoweii"},"content":" public int numOfTasks() {","lastModifiedDate":"2023-08-31"},{"lineNumber":72,"author":{"gitId":"xxiaoweii"},"content":" return listOfTasks.size();","lastModifiedDate":"2023-08-31"},{"lineNumber":73,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":74,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":75,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":76,"author":{"gitId":"xxiaoweii"},"content":" * return the list of task","lastModifiedDate":"2023-09-03"},{"lineNumber":77,"author":{"gitId":"xxiaoweii"},"content":" * @return the current list of task","lastModifiedDate":"2023-09-03"},{"lineNumber":78,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":79,"author":{"gitId":"xxiaoweii"},"content":" public static ArrayList\u003cTask\u003e getList() {","lastModifiedDate":"2023-08-31"},{"lineNumber":80,"author":{"gitId":"xxiaoweii"},"content":" return listOfTasks;","lastModifiedDate":"2023-08-31"},{"lineNumber":81,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"xxiaoweii":82}},{"path":"src/main/java/duke/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for ToDO class","lastModifiedDate":"2023-09-03"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" * @param task the task description","lastModifiedDate":"2023-09-03"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" public ToDo(String task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" super(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":18}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"public class Ui {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" private Scanner scanner;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-03"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" * Constructor for Ui class","lastModifiedDate":"2023-09-03"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" * Create a Scanner object","lastModifiedDate":"2023-09-03"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":" public Ui() {","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"xxiaoweii"},"content":" this.scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"xxiaoweii"},"content":" /**","lastModifiedDate":"2023-09-03"},{"lineNumber":18,"author":{"gitId":"xxiaoweii"},"content":" * Get the next line from the user","lastModifiedDate":"2023-09-03"},{"lineNumber":19,"author":{"gitId":"xxiaoweii"},"content":" *","lastModifiedDate":"2023-09-03"},{"lineNumber":20,"author":{"gitId":"xxiaoweii"},"content":" * @return the user input","lastModifiedDate":"2023-09-03"},{"lineNumber":21,"author":{"gitId":"xxiaoweii"},"content":" */","lastModifiedDate":"2023-09-03"},{"lineNumber":22,"author":{"gitId":"xxiaoweii"},"content":" public String getInput() {","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"xxiaoweii"},"content":" return this.scanner.nextLine();","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":26}},{"path":"src/main/java/duke/exception/ChattyException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class ChattyException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public ChattyException(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(message);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":8}},{"path":"src/main/java/duke/exception/DetailsUnknownException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class DetailsUnknownException extends ChattyException {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" public DetailsUnknownException() {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" super(\"The details are missing. Please check your input again\");","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":9}},{"path":"src/main/java/duke/exception/IncompleteMessageException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class IncompleteMessageException extends ChattyException {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public IncompleteMessageException(String errorMessage) {","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(\"The command you entered is incomplete. Please give me more information.\");","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":7}},{"path":"src/main/java/duke/exception/InvalidTaskNumberException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class InvalidTaskNumberException extends ChattyException {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" public InvalidTaskNumberException() {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" super(\"The task number you have entered is invalid, please double check.\");","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"xxiaoweii":8}},{"path":"src/main/java/duke/exception/UnknownCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"package duke.exception;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"public class UnknownCommandException extends ChattyException {","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":" public UnknownCommandException() {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":" super(\"Sorry, I don\u0027t understand what that means.\");","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"xxiaoweii":7}},{"path":"src/test/java/DeadlineTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"public class DeadlineTest {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" @Test","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" public void testStringConversion() {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" assertEquals(\"[D][ ] Complete iP (by: Sep 05 2023 2:00PM)\", new Deadline(\"Complete iP\", \"2023-09-05 1400\").toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"xxiaoweii":13}},{"path":"src/test/java/ToDoTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xxiaoweii"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"xxiaoweii"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"xxiaoweii"},"content":"import duke.ToDo;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"xxiaoweii"},"content":"public class ToDoTest {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"xxiaoweii"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"xxiaoweii"},"content":" @Test","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"xxiaoweii"},"content":" public void testStringConversion() {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"xxiaoweii"},"content":" assertEquals(\"[T][ ] Complete iP\", new ToDo(\"Complete iP\").toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"xxiaoweii"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"xxiaoweii"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"xxiaoweii":13}}] diff --git a/xxiaoweii_ip_master/commits.json b/xxiaoweii_ip_master/commits.json index 47c389b5..d19e1132 100644 --- a/xxiaoweii_ip_master/commits.json +++ b/xxiaoweii_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"xxiaoweii":[{"date":"2023-08-23","commitResults":[{"hash":"db9d5273b5dfe82df794fb5c1f67c43e35c3427e","isMergeCommit":false,"messageTitle":"level 0 - rename, greet, exit","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":6}}},{"hash":"9b36f3efca7833183292ba14c0e64f5110d89d92","isMergeCommit":false,"messageTitle":"level 1","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":1}}},{"hash":"29747e8089f93ffc3f41bcc75f3a265198273866","isMergeCommit":false,"messageTitle":"level 1 -","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"7904bd3a5681f4e0c07de4199962da31521f0e34","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"4906654f45af92c37843da18dfa1ac9786748afe","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"4a8668115e44daee82177246f27c765c31eb27ec","isMergeCommit":false,"messageTitle":"level 2 - Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":1}}},{"hash":"1836d13a2e408b2a4aeb0fa26894a7cd3e35406b","isMergeCommit":false,"messageTitle":"level 3 - Mark As Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"7a428a95d038260250620e490468040286e22616","isMergeCommit":false,"messageTitle":"level 4: ToDos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":12}}},{"hash":"ce86ea15422d0b2a036501bdebc245ec0d36d1ca","isMergeCommit":false,"messageTitle":"A-TestUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"bat":{"insertions":0,"deletions":0},"sh":{"insertions":0,"deletions":0}}},{"hash":"7c1bc8cfcf7f7392bb75e394ac3a8695b5ee437f","isMergeCommit":false,"messageTitle":"Level 5 - Handle Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":70,"deletions":26}}},{"hash":"e78dcc9c6a92cef5d717b2f6668786796566cd0b","isMergeCommit":false,"messageTitle":"Level 6 - Delete","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}}]},{"date":"2023-08-31","commitResults":[{"hash":"33547fca441d380cf905adc88ec3bf830bb5fcfd","isMergeCommit":false,"messageTitle":"Level 6 - updated the code slightly","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":228,"deletions":132}}},{"hash":"d622b086eae73fa444aadccff40c63dd821a9822","isMergeCommit":false,"messageTitle":"Level 7 - Save","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":2}}},{"hash":"39c3d4e00fc3fb43ac95143953c069e8a2006055","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":29,"deletions":3}}},{"hash":"cf5a465c6631658c1a996cd5cd53d121f6f56cb1","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":16}}},{"hash":"bb72d7b4e79a19be462eff2635f51de901505783","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"ec2253217bc96ea555ca418455a4cfb405d9c7f8","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":18},"md":{"insertions":2,"deletions":2}}}]},{"date":"2023-09-01","commitResults":[{"hash":"524f8dc427fc16c17c569bb2d2ef1d263ad60730","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":110,"deletions":58}}},{"hash":"78bb09aff3c65981d8a127bbd3057827d21ac806","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/master\u0027 into add-gradle-support","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"927f03f3821a19e1d5309af267380cd43df25c37","isMergeCommit":false,"messageTitle":"level 0 - rename, greet, exit","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":6}}},{"hash":"33fd4402b7dcda98e98f02d7ddb0844f7c908853","isMergeCommit":false,"messageTitle":"level 1","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":1}}},{"hash":"321adbdc184080889ffd7db993c57180d064915f","isMergeCommit":false,"messageTitle":"level 1 -","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"89296275d1962688c243739f73bde0d74d52b5d3","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"fe095a535577c697a416ee05f74c6398371e461f","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"b3774cb12b795fbefbc5cbb70b700093b392a25a","isMergeCommit":false,"messageTitle":"level 2 - Add, List","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":1}}},{"hash":"111971660fd6369d852dceadd6518ab09d2619dc","isMergeCommit":false,"messageTitle":"level 3 - Mark As Done","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":1}}},{"hash":"23d114678d6d2cc25d001bbe6b09c2fad0d47d69","isMergeCommit":false,"messageTitle":"level 4: ToDos, Events, Deadlines","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":12}}},{"hash":"c30062cc577a4b9773a4b1bb8fe151612d789d48","isMergeCommit":false,"messageTitle":"A-TestUiTesting","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"bat":{"insertions":0,"deletions":0},"sh":{"insertions":0,"deletions":0}}},{"hash":"7de816c595cb2c8df333dbd7633af2d774853ee5","isMergeCommit":false,"messageTitle":"Level 5 - Handle Errors","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":70,"deletions":26}}},{"hash":"becd1d3d66a0aac589dc9005753b9d1d922fbd74","isMergeCommit":false,"messageTitle":"Level 6 - Delete","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}},{"hash":"de927d4f4ed94563d504b0458409d480be96f976","isMergeCommit":false,"messageTitle":"Level 6 - updated the code slightly","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":228,"deletions":132}}},{"hash":"b50ca3d01a2c163e57661d0284a8817f53920a4c","isMergeCommit":false,"messageTitle":"Level 7 - Save","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":2}}},{"hash":"dde19fa19a8dad6385fe1e5cdfd2646bdf719cc6","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":29,"deletions":3}}},{"hash":"40a72e6744174aa4f391ccf09fbce11db55297ff","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":16}}},{"hash":"9d32ea6a7926312a40cdf901bf727e31e4ef7298","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"c3dc38e45b2bbc41c09eb0489527c40411ee0b46","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":18},"md":{"insertions":2,"deletions":2}}},{"hash":"a6bc1214370307fcccbfa0659cbf4d9db6510d5b","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":110,"deletions":58}}},{"hash":"fdf27a31497b348abdb9b81a80994f3da1e3f908","isMergeCommit":false,"messageTitle":"JUnit test","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":2}}},{"hash":"f7c760e8b5aa3c091a69135c3ebf2756adc55ff9","isMergeCommit":false,"messageTitle":"JUnit test","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":25,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"xxiaoweii":{"java":599,"md":2,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":2}},"authorContributionVariance":{"xxiaoweii":124617.164},"authorDisplayNameMap":{"xxiaoweii":"CS2103T-F08-4 ONG .. WEI"}} +{"authorDailyContributionsMap":{"xxiaoweii":[{"date":"2023-08-23","commitResults":[{"hash":"db9d5273b5dfe82df794fb5c1f67c43e35c3427e","isMergeCommit":false,"messageTitle":"level 0 - rename, greet, exit","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":6}}},{"hash":"9b36f3efca7833183292ba14c0e64f5110d89d92","isMergeCommit":false,"messageTitle":"level 1","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":1}}},{"hash":"29747e8089f93ffc3f41bcc75f3a265198273866","isMergeCommit":false,"messageTitle":"level 1 -","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"7904bd3a5681f4e0c07de4199962da31521f0e34","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"4906654f45af92c37843da18dfa1ac9786748afe","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"4a8668115e44daee82177246f27c765c31eb27ec","isMergeCommit":false,"messageTitle":"level 2 - Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":1}}},{"hash":"1836d13a2e408b2a4aeb0fa26894a7cd3e35406b","isMergeCommit":false,"messageTitle":"level 3 - Mark As Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"7a428a95d038260250620e490468040286e22616","isMergeCommit":false,"messageTitle":"level 4: ToDos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":12}}},{"hash":"ce86ea15422d0b2a036501bdebc245ec0d36d1ca","isMergeCommit":false,"messageTitle":"A-TestUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"bat":{"insertions":0,"deletions":0},"sh":{"insertions":0,"deletions":0}}},{"hash":"7c1bc8cfcf7f7392bb75e394ac3a8695b5ee437f","isMergeCommit":false,"messageTitle":"Level 5 - Handle Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":70,"deletions":26}}},{"hash":"e78dcc9c6a92cef5d717b2f6668786796566cd0b","isMergeCommit":false,"messageTitle":"Level 6 - Delete","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}}]},{"date":"2023-08-31","commitResults":[{"hash":"33547fca441d380cf905adc88ec3bf830bb5fcfd","isMergeCommit":false,"messageTitle":"Level 6 - updated the code slightly","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":228,"deletions":132}}},{"hash":"d622b086eae73fa444aadccff40c63dd821a9822","isMergeCommit":false,"messageTitle":"Level 7 - Save","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":2}}},{"hash":"39c3d4e00fc3fb43ac95143953c069e8a2006055","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":29,"deletions":3}}},{"hash":"cf5a465c6631658c1a996cd5cd53d121f6f56cb1","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":16}}},{"hash":"bb72d7b4e79a19be462eff2635f51de901505783","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"ec2253217bc96ea555ca418455a4cfb405d9c7f8","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":18},"md":{"insertions":2,"deletions":2}}}]},{"date":"2023-09-01","commitResults":[{"hash":"524f8dc427fc16c17c569bb2d2ef1d263ad60730","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":110,"deletions":58}}},{"hash":"78bb09aff3c65981d8a127bbd3057827d21ac806","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/master\u0027 into add-gradle-support","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"927f03f3821a19e1d5309af267380cd43df25c37","isMergeCommit":false,"messageTitle":"level 0 - rename, greet, exit","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":6}}},{"hash":"33fd4402b7dcda98e98f02d7ddb0844f7c908853","isMergeCommit":false,"messageTitle":"level 1","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":1}}},{"hash":"321adbdc184080889ffd7db993c57180d064915f","isMergeCommit":false,"messageTitle":"level 1 -","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}},{"hash":"89296275d1962688c243739f73bde0d74d52b5d3","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":1}}},{"hash":"fe095a535577c697a416ee05f74c6398371e461f","isMergeCommit":false,"messageTitle":"level 1 - echo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"b3774cb12b795fbefbc5cbb70b700093b392a25a","isMergeCommit":false,"messageTitle":"level 2 - Add, List","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":1}}},{"hash":"111971660fd6369d852dceadd6518ab09d2619dc","isMergeCommit":false,"messageTitle":"level 3 - Mark As Done","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":1}}},{"hash":"23d114678d6d2cc25d001bbe6b09c2fad0d47d69","isMergeCommit":false,"messageTitle":"level 4: ToDos, Events, Deadlines","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":12}}},{"hash":"c30062cc577a4b9773a4b1bb8fe151612d789d48","isMergeCommit":false,"messageTitle":"A-TestUiTesting","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"bat":{"insertions":0,"deletions":0},"sh":{"insertions":0,"deletions":0}}},{"hash":"7de816c595cb2c8df333dbd7633af2d774853ee5","isMergeCommit":false,"messageTitle":"Level 5 - Handle Errors","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":70,"deletions":26}}},{"hash":"becd1d3d66a0aac589dc9005753b9d1d922fbd74","isMergeCommit":false,"messageTitle":"Level 6 - Delete","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}},{"hash":"de927d4f4ed94563d504b0458409d480be96f976","isMergeCommit":false,"messageTitle":"Level 6 - updated the code slightly","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":228,"deletions":132}}},{"hash":"b50ca3d01a2c163e57661d0284a8817f53920a4c","isMergeCommit":false,"messageTitle":"Level 7 - Save","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":2}}},{"hash":"dde19fa19a8dad6385fe1e5cdfd2646bdf719cc6","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":29,"deletions":3}}},{"hash":"40a72e6744174aa4f391ccf09fbce11db55297ff","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":16}}},{"hash":"9d32ea6a7926312a40cdf901bf727e31e4ef7298","isMergeCommit":false,"messageTitle":"Level 8 - Dates and Times","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"c3dc38e45b2bbc41c09eb0489527c40411ee0b46","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":18},"md":{"insertions":2,"deletions":2}}},{"hash":"a6bc1214370307fcccbfa0659cbf4d9db6510d5b","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":110,"deletions":58}}},{"hash":"fdf27a31497b348abdb9b81a80994f3da1e3f908","isMergeCommit":false,"messageTitle":"JUnit test","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":2}}},{"hash":"f7c760e8b5aa3c091a69135c3ebf2756adc55ff9","isMergeCommit":false,"messageTitle":"JUnit test","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":25,"deletions":1}}}]},{"date":"2023-09-03","commitResults":[{"hash":"095330986fd204a5f47d82aa8fba996b6ea27f09","isMergeCommit":false,"messageTitle":"A-JavaDoc","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":246,"deletions":12}}},{"hash":"9b544d0746b340c2eb9eee9b20f4d4987fbdbb96","isMergeCommit":false,"messageTitle":"A-CodingStandard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":9}}}]}]},"authorFileTypeContributionMap":{"xxiaoweii":{"java":824,"md":2,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":2}},"authorContributionVariance":{"xxiaoweii":112094.17},"authorDisplayNameMap":{"xxiaoweii":"CS2103T-F08-4 ONG .. WEI"}}