diff --git a/Angelyxx_ip_master/commits.json b/Angelyxx_ip_master/commits.json index d5506dba..780462d1 100644 --- a/Angelyxx_ip_master/commits.json +++ b/Angelyxx_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"Angelyxx":[{"date":"2023-08-25","commitResults":[{"hash":"d9ed55fcb492a1611dafa452a0d3848248dca85f","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":1}}}]},{"date":"2023-08-26","commitResults":[{"hash":"991e7cc8a052668976d9f46c1071523e22d1565d","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":5}}},{"hash":"71660de8c4a794069dd4a94c5a9a7c3dd8c78485","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":90,"deletions":11}}},{"hash":"814a57986ab9f3dd5b39d00bf5c8c85a0aa2acdd","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":110,"deletions":46}}},{"hash":"fe2cf03da54a6e5aa12b1ad441cb497d244a053d","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":2}}}]},{"date":"2023-08-29","commitResults":[{"hash":"b3e783fa53bb8fabd94a5d1d7e3e6700055075dd","isMergeCommit":false,"messageTitle":"Add classes to packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":17}}}]},{"date":"2023-08-30","commitResults":[{"hash":"ff0b12fcd36f8c7078a738b2659b3e29a67299a8","isMergeCommit":false,"messageTitle":"complete level-7","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":104,"deletions":0}}},{"hash":"c4abb3cc2be855b1c561ee553093893cfac2bcf0","isMergeCommit":false,"messageTitle":"allow duke to read date/dateTime object for deadline","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":27}}},{"hash":"f448a58d123f061f1a4e33f24ef632745950cc67","isMergeCommit":false,"messageTitle":"allow datetime objects for event class","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":21}}}]},{"date":"2023-08-31","commitResults":[{"hash":"30a723dd5d9e11dd63d42f07ffcf89187f16ca3a","isMergeCommit":false,"messageTitle":"A-MoreOOP","messageBody":"","tags":["A-Packages","A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":582,"deletions":29}}},{"hash":"d6eb3665b1d59c9fa74c6b7239e12e6ed056b356","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into add-gradle-support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"819c1c8f612e5e736e479c9364fa41dc3afd4b29","isMergeCommit":false,"messageTitle":"remove duplicate files","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":0,"deletions":240}}},{"hash":"f51c78a8dde7f0d4b0a26cfa17dc7c170893892f","isMergeCommit":false,"messageTitle":"Add JUnit Tests for ParserTest, StorageTest, TaskListTest","messageBody":"","tags":["Level-9","A-JavaDoc","A-Jar","A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":225,"deletions":23}}}]},{"date":"2023-09-01","commitResults":[{"hash":"a109990c80bcdfd48bc6efeaadabf1d280a578b5","isMergeCommit":false,"messageTitle":"Added JavaDocs to all classes","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":3},"java":{"insertions":466,"deletions":12}}},{"hash":"401f8513c890b21808408e7232a7220366c42f0c","isMergeCommit":false,"messageTitle":"Edit code to follow coding conventions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":65}}},{"hash":"b3e15c74c0690bc9d2142e2a900996b656ddc13a","isMergeCommit":false,"messageTitle":"Complete find command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":72,"deletions":13}}},{"hash":"4d6562f9e5432c8d40dfa765c5f191b5e2a7489b","isMergeCommit":false,"messageTitle":"Add DukeException class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"d90719839729f68260e78cb2ced2a6ca2d0f91aa","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"2e6a844dcae2c39c46f63f5b8457ea39c978a79d","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/main/Parser.java\n#\tsrc/main/java/duke/main/Storage.java\n#\tsrc/main/java/duke/main/TaskList.java\n#\tsrc/main/java/duke/main/Ui.java\n#\tsrc/main/java/duke/task/Task.java\n","fileTypesAndContributionMap":{}},{"hash":"7512f1b0223da727784590d7f437d84716672a4e","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/command/ListCommand.java\n#\tsrc/main/java/duke/main/Parser.java\n#\tsrc/main/java/duke/main/Ui.java\n","fileTypesAndContributionMap":{}},{"hash":"9fec172b02dfaa769fceee8c1a410917bd596163","isMergeCommit":false,"messageTitle":"Fix TaskList typo error","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"Angelyxx":{"java":1551,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":2,"txt":0}},"authorContributionVariance":{"Angelyxx":100478.43},"authorDisplayNameMap":{"Angelyxx":"ANGE..XUAN"}} +{"authorDailyContributionsMap":{"Angelyxx":[{"date":"2023-08-25","commitResults":[{"hash":"d9ed55fcb492a1611dafa452a0d3848248dca85f","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":1}}}]},{"date":"2023-08-26","commitResults":[{"hash":"991e7cc8a052668976d9f46c1071523e22d1565d","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":61,"deletions":5}}},{"hash":"71660de8c4a794069dd4a94c5a9a7c3dd8c78485","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":90,"deletions":11}}},{"hash":"814a57986ab9f3dd5b39d00bf5c8c85a0aa2acdd","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":110,"deletions":46}}},{"hash":"fe2cf03da54a6e5aa12b1ad441cb497d244a053d","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":2}}}]},{"date":"2023-08-29","commitResults":[{"hash":"b3e783fa53bb8fabd94a5d1d7e3e6700055075dd","isMergeCommit":false,"messageTitle":"Add classes to packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":17}}}]},{"date":"2023-08-30","commitResults":[{"hash":"ff0b12fcd36f8c7078a738b2659b3e29a67299a8","isMergeCommit":false,"messageTitle":"complete level-7","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":104,"deletions":0}}},{"hash":"c4abb3cc2be855b1c561ee553093893cfac2bcf0","isMergeCommit":false,"messageTitle":"allow duke to read date/dateTime object for deadline","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":27}}},{"hash":"f448a58d123f061f1a4e33f24ef632745950cc67","isMergeCommit":false,"messageTitle":"allow datetime objects for event class","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":21}}}]},{"date":"2023-08-31","commitResults":[{"hash":"30a723dd5d9e11dd63d42f07ffcf89187f16ca3a","isMergeCommit":false,"messageTitle":"A-MoreOOP","messageBody":"","tags":["A-Packages","A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":582,"deletions":29}}},{"hash":"d6eb3665b1d59c9fa74c6b7239e12e6ed056b356","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into add-gradle-support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"819c1c8f612e5e736e479c9364fa41dc3afd4b29","isMergeCommit":false,"messageTitle":"remove duplicate files","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":0,"deletions":240}}},{"hash":"f51c78a8dde7f0d4b0a26cfa17dc7c170893892f","isMergeCommit":false,"messageTitle":"Add JUnit Tests for ParserTest, StorageTest, TaskListTest","messageBody":"","tags":["Level-9","A-JavaDoc","A-Jar","A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":225,"deletions":23}}}]},{"date":"2023-09-01","commitResults":[{"hash":"a109990c80bcdfd48bc6efeaadabf1d280a578b5","isMergeCommit":false,"messageTitle":"Added JavaDocs to all classes","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":3},"java":{"insertions":466,"deletions":12}}},{"hash":"401f8513c890b21808408e7232a7220366c42f0c","isMergeCommit":false,"messageTitle":"Edit code to follow coding conventions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":65}}},{"hash":"b3e15c74c0690bc9d2142e2a900996b656ddc13a","isMergeCommit":false,"messageTitle":"Complete find command","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":72,"deletions":13}}},{"hash":"4d6562f9e5432c8d40dfa765c5f191b5e2a7489b","isMergeCommit":false,"messageTitle":"Add DukeException class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"d90719839729f68260e78cb2ced2a6ca2d0f91aa","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"2e6a844dcae2c39c46f63f5b8457ea39c978a79d","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/main/Parser.java\n#\tsrc/main/java/duke/main/Storage.java\n#\tsrc/main/java/duke/main/TaskList.java\n#\tsrc/main/java/duke/main/Ui.java\n#\tsrc/main/java/duke/task/Task.java\n","fileTypesAndContributionMap":{}},{"hash":"7512f1b0223da727784590d7f437d84716672a4e","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/command/ListCommand.java\n#\tsrc/main/java/duke/main/Parser.java\n#\tsrc/main/java/duke/main/Ui.java\n","fileTypesAndContributionMap":{}},{"hash":"9fec172b02dfaa769fceee8c1a410917bd596163","isMergeCommit":false,"messageTitle":"Fix TaskList typo error","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"Angelyxx":{"java":1551,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":2,"txt":0}},"authorContributionVariance":{"Angelyxx":100478.43},"authorDisplayNameMap":{"Angelyxx":"CS2103-F13-1 ANGE..XUAN"}} diff --git a/Fallman2_ip_master/commits.json b/Fallman2_ip_master/commits.json index 0be393ae..cf57abd6 100644 --- a/Fallman2_ip_master/commits.json +++ b/Fallman2_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"Fallman2":[{"date":"2023-08-22","commitResults":[{"hash":"79f0ee3f9a8ef1fc41493eab0f112813ca17ee95","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":4}}},{"hash":"dd75b847fa79c8ba7bf77f5460e99a1069799977","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}},{"hash":"1053f207bc65c976dd543199abb2c3c6312dccfb","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"8f0d076a6df516a82b888a07c2df4bca4e2f755d","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":9}}},{"hash":"2dc56b6801339dc6800ebebb9763788faa34e80f","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":9}}},{"hash":"c77f426db59695a6d42aab7cb32000b84f745c7a","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0}}},{"hash":"90903133e7f8dec88d17b59ab17fa9da56eac791","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":61,"deletions":10}}},{"hash":"b1bf5c50fd6e0d40afc3fbcb257bc74d7b0d128e","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":30,"deletions":0}}},{"hash":"7467b3a18f5cd474512ce4529b35bb6de24816a5","isMergeCommit":false,"messageTitle":"Touching Up","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":10}}}]},{"date":"2023-08-30","commitResults":[{"hash":"d67d63eb872f4f91a395897dc9945bc47993048e","isMergeCommit":false,"messageTitle":"Update file name and edited isEmpty() condition check","messageBody":"File name was previously Duke, unchanged from the original despite the change in the name since the first commit. There was also a condition check that could have been shortened.\n\nFile name has been appropriately changed and the condition has been updated.\n","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"aed13482d4600db0f899d11ee2cce50c7fd2b32f","isMergeCommit":false,"messageTitle":"Create new class to handle data","messageBody":"The chatbot previously did not have a way to handle storing data after closing.\n\nTo prepare for the implementationn of data storage, a text file has been created alongside a directory and a new class, DataHandler is created to translate this file into\nrespective Tasks.\n","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":62,"deletions":3}}},{"hash":"7cf81b2ae259faabf0188b91bfee76202f9c212d","isMergeCommit":false,"messageTitle":"Complete saving function","messageBody":"The saving function was previously only implemented partiallly. There were also some display bugs where the separator line was not printed where it should have been.\n\nCompleted the saving function and fixed the bugs.\n","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"java":{"insertions":54,"deletions":12}}},{"hash":"4d1f47888f2f581d0319bb9ab5d066d14941a8a5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"a6d14b602bef93b0abb2f279397a33f683377974","isMergeCommit":false,"messageTitle":"Implement LocalDateTime Support","messageBody":"Events and deadlines did not properly use dates and times in their implementation previously, allowing for unmeaningful dates and times.\n\nLocalDateTime has been implemented and some small String irregularities have been fixed\n","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":5},"java":{"insertions":33,"deletions":13}}},{"hash":"2e8e420c4c24d4135590d6305d623069bb66c7e5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"c4fea4c3d4d882c9b5cca496f6cbf834ce4558bc","isMergeCommit":false,"messageTitle":"Add new classes for extra OOP","messageBody":"Previous implementation had too many steps crammed into the main method, leading to messy code.\n\nAdded Command classes and subclasses to categorize the commands.\n","fileTypesAndContributionMap":{"java":{"insertions":302,"deletions":0}}},{"hash":"70de344a70f178495b5b1c5fe958eb5ed40ccefb","isMergeCommit":false,"messageTitle":"Add Ui class and fix errors in command classes","messageBody":"Ui displays are still executed in main class and could be furthur separated with oop\n\nCreated the UI class to store all UI messages.\n","fileTypesAndContributionMap":{"java":{"insertions":121,"deletions":44}}},{"hash":"66d74815124b8dc656259ad914182a6ccf81cec9","isMergeCommit":false,"messageTitle":"Update main method in Puke class","messageBody":"After all the classes were changed in the previous commit, the main class no longer ran properly.\n\nChanged the main class too run properly with the new coode\n","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":3},"java":{"insertions":99,"deletions":192}}},{"hash":"c8a0ccc922d8e477e72a1e7ec13cd0dcc49f3f20","isMergeCommit":false,"messageTitle":"Add files to a package","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"bba8d6f36f732e8bdc650fb9fbac4bc523ec2b84","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"2c985ccd681799d1cebc6777fbb76f7ecababaff","isMergeCommit":false,"messageTitle":"Add sample JUnit tests","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":133,"deletions":1}}},{"hash":"cbbf20bc4ab18af3714c509ef9f4e6cf5526592c","isMergeCommit":false,"messageTitle":"Edit build.gradle to properly save a jar file","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":1}}},{"hash":"05e33b6a4391bef0b942663eace2ae0f32075011","isMergeCommit":false,"messageTitle":"Update Puke.java to fit coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":39}}},{"hash":"5e309e1dba4de29efc9e0b72aea6c790aa617609","isMergeCommit":false,"messageTitle":"Add new find feature","messageBody":"There was no way to look for specific tasks previously\n\nAdded a way to filter tasks\n","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":0}}},{"hash":"5c6651752e72c4c2621e2c0f513ecac5327c4ef6","isMergeCommit":false,"messageTitle":"Add comments for proper Javadoc documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":347,"deletions":5}}},{"hash":"dd82d71e4b857d8e0c677af6bb794154322b86e3","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"c4e0f3ba4f0c01db3551ad738fae0818ce93afd0","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"ef7439923a1c4c1b2b61b69042102ce6d08ab870","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"#\tsrc/main/java/puke/Puke.java\n","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"Fallman2":{"java":1146,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":2,"txt":19}},"authorContributionVariance":{"Fallman2":81440.51},"authorDisplayNameMap":{"Fallman2":"ANDR..IANG"}} +{"authorDailyContributionsMap":{"Fallman2":[{"date":"2023-08-22","commitResults":[{"hash":"79f0ee3f9a8ef1fc41493eab0f112813ca17ee95","isMergeCommit":false,"messageTitle":"Level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":4}}},{"hash":"dd75b847fa79c8ba7bf77f5460e99a1069799977","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}},{"hash":"1053f207bc65c976dd543199abb2c3c6312dccfb","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"8f0d076a6df516a82b888a07c2df4bca4e2f755d","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":9}}},{"hash":"2dc56b6801339dc6800ebebb9763788faa34e80f","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":9}}},{"hash":"c77f426db59695a6d42aab7cb32000b84f745c7a","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0}}},{"hash":"90903133e7f8dec88d17b59ab17fa9da56eac791","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":61,"deletions":10}}},{"hash":"b1bf5c50fd6e0d40afc3fbcb257bc74d7b0d128e","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":30,"deletions":0}}},{"hash":"7467b3a18f5cd474512ce4529b35bb6de24816a5","isMergeCommit":false,"messageTitle":"Touching Up","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":10}}}]},{"date":"2023-08-30","commitResults":[{"hash":"d67d63eb872f4f91a395897dc9945bc47993048e","isMergeCommit":false,"messageTitle":"Update file name and edited isEmpty() condition check","messageBody":"File name was previously Duke, unchanged from the original despite the change in the name since the first commit. There was also a condition check that could have been shortened.\n\nFile name has been appropriately changed and the condition has been updated.\n","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"aed13482d4600db0f899d11ee2cce50c7fd2b32f","isMergeCommit":false,"messageTitle":"Create new class to handle data","messageBody":"The chatbot previously did not have a way to handle storing data after closing.\n\nTo prepare for the implementationn of data storage, a text file has been created alongside a directory and a new class, DataHandler is created to translate this file into\nrespective Tasks.\n","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":62,"deletions":3}}},{"hash":"7cf81b2ae259faabf0188b91bfee76202f9c212d","isMergeCommit":false,"messageTitle":"Complete saving function","messageBody":"The saving function was previously only implemented partiallly. There were also some display bugs where the separator line was not printed where it should have been.\n\nCompleted the saving function and fixed the bugs.\n","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"java":{"insertions":54,"deletions":12}}},{"hash":"4d1f47888f2f581d0319bb9ab5d066d14941a8a5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"a6d14b602bef93b0abb2f279397a33f683377974","isMergeCommit":false,"messageTitle":"Implement LocalDateTime Support","messageBody":"Events and deadlines did not properly use dates and times in their implementation previously, allowing for unmeaningful dates and times.\n\nLocalDateTime has been implemented and some small String irregularities have been fixed\n","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":5},"java":{"insertions":33,"deletions":13}}},{"hash":"2e8e420c4c24d4135590d6305d623069bb66c7e5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"c4fea4c3d4d882c9b5cca496f6cbf834ce4558bc","isMergeCommit":false,"messageTitle":"Add new classes for extra OOP","messageBody":"Previous implementation had too many steps crammed into the main method, leading to messy code.\n\nAdded Command classes and subclasses to categorize the commands.\n","fileTypesAndContributionMap":{"java":{"insertions":302,"deletions":0}}},{"hash":"70de344a70f178495b5b1c5fe958eb5ed40ccefb","isMergeCommit":false,"messageTitle":"Add Ui class and fix errors in command classes","messageBody":"Ui displays are still executed in main class and could be furthur separated with oop\n\nCreated the UI class to store all UI messages.\n","fileTypesAndContributionMap":{"java":{"insertions":121,"deletions":44}}},{"hash":"66d74815124b8dc656259ad914182a6ccf81cec9","isMergeCommit":false,"messageTitle":"Update main method in Puke class","messageBody":"After all the classes were changed in the previous commit, the main class no longer ran properly.\n\nChanged the main class too run properly with the new coode\n","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":3},"java":{"insertions":99,"deletions":192}}},{"hash":"c8a0ccc922d8e477e72a1e7ec13cd0dcc49f3f20","isMergeCommit":false,"messageTitle":"Add files to a package","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"bba8d6f36f732e8bdc650fb9fbac4bc523ec2b84","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"2c985ccd681799d1cebc6777fbb76f7ecababaff","isMergeCommit":false,"messageTitle":"Add sample JUnit tests","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":133,"deletions":1}}},{"hash":"cbbf20bc4ab18af3714c509ef9f4e6cf5526592c","isMergeCommit":false,"messageTitle":"Edit build.gradle to properly save a jar file","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":1}}},{"hash":"05e33b6a4391bef0b942663eace2ae0f32075011","isMergeCommit":false,"messageTitle":"Update Puke.java to fit coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":39}}},{"hash":"5e309e1dba4de29efc9e0b72aea6c790aa617609","isMergeCommit":false,"messageTitle":"Add new find feature","messageBody":"There was no way to look for specific tasks previously\n\nAdded a way to filter tasks\n","fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":0}}},{"hash":"5c6651752e72c4c2621e2c0f513ecac5327c4ef6","isMergeCommit":false,"messageTitle":"Add comments for proper Javadoc documentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":347,"deletions":5}}},{"hash":"dd82d71e4b857d8e0c677af6bb794154322b86e3","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"c4e0f3ba4f0c01db3551ad738fae0818ce93afd0","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"ef7439923a1c4c1b2b61b69042102ce6d08ab870","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"#\tsrc/main/java/puke/Puke.java\n","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"Fallman2":{"java":1146,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":2,"txt":19}},"authorContributionVariance":{"Fallman2":81440.51},"authorDisplayNameMap":{"Fallman2":"CS2103-F13-4 ANDR..IANG"}} diff --git a/Propene-Dan_ip_master/authorship.json b/Propene-Dan_ip_master/authorship.json index fe51488c..6523cca4 100644 --- a/Propene-Dan_ip_master/authorship.json +++ b/Propene-Dan_ip_master/authorship.json @@ -1 +1 @@ -[] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"Propene-Dan"},"content":"# Dan project template","lastModifiedDate":"2023-09-02"},{"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":"Propene-Dan"},"content":"3. After that, locate the `src/main/java/Dan.java` file, right-click it, and choose `Run Dan.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-09-02"},{"lineNumber":17,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" Hello from","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":" ____ _ ","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" | _ \\ _ _| | _____ ","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" | | | | | | | |/ / _ \\","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":" | |_| | |_| | \u003c __/","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" |____/ \\__,_|_|\\_\\___|","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" ```","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":22,"Propene-Dan":2}},{"path":"src/main/java/Dan.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Propene-Dan"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"Propene-Dan"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"Propene-Dan"},"content":"public class Dan {","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"Propene-Dan"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"Propene-Dan"},"content":" hello();","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"Propene-Dan"},"content":" chat();","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"Propene-Dan"},"content":" goodbye();","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"Propene-Dan"},"content":" private final static String greets \u003d \"\\nDan: \\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"Propene-Dan"},"content":" private static MyList strList \u003d new MyList(100);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"Propene-Dan"},"content":" private static void chat() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"Propene-Dan"},"content":" String text;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"Propene-Dan"},"content":" while (true) {","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"Propene-Dan"},"content":" text \u003d new Scanner(System.in).nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"Propene-Dan"},"content":" switch (text.toLowerCase()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"Propene-Dan"},"content":" case \"bye\" : break;","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"Propene-Dan"},"content":" case \"list\" :","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"Propene-Dan"},"content":" System.out.println(","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"Propene-Dan"},"content":" greets +","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"Propene-Dan"},"content":" \"你还要做的事情有:\" + strList.toString()","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"Propene-Dan"},"content":" );","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"Propene-Dan"},"content":" System.out.println(greets + text);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"Propene-Dan"},"content":"// !text.toLowerCase().equals(\"bye\")","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"Propene-Dan"},"content":" public static void hello() {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"Propene-Dan"},"content":" System.out.println(","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"Propene-Dan"},"content":" greets +","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"Propene-Dan"},"content":" \" 我是小丹!\\n\" +","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"Propene-Dan"},"content":" \" 有什么可以要帮忙可以跟我说!\\n\"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"Propene-Dan"},"content":" );","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"Propene-Dan"},"content":" public static void goodbye() {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"Propene-Dan"},"content":" System.out.println(","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"Propene-Dan"},"content":" greets +","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"Propene-Dan"},"content":" \" 拜拜啦!下次见!\\n\"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"Propene-Dan"},"content":" );","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"Propene-Dan"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"Propene-Dan":45}},{"path":"src/main/java/MyList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"Propene-Dan"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"Propene-Dan"},"content":"public class MyList extends ArrayList\u003cString\u003e {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"Propene-Dan"},"content":" public MyList() {}","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"Propene-Dan"},"content":" public MyList(int initialCapacity) {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"Propene-Dan"},"content":" super(initialCapacity);","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"Propene-Dan"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"Propene-Dan"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"Propene-Dan"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"Propene-Dan"},"content":" StringBuffer rt \u003d new StringBuffer();","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"Propene-Dan"},"content":" for (int i \u003d 0; i \u003c this.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"Propene-Dan"},"content":" rt.append(i+1 + \". \" + this.get(i) + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"Propene-Dan"},"content":" return rt.toString();","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"Propene-Dan"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"Propene-Dan"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"Propene-Dan":18}},{"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":"Propene-Dan"},"content":"java -classpath ..\\bin Dan \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":20,"Propene-Dan":1}}] diff --git a/Propene-Dan_ip_master/commits.json b/Propene-Dan_ip_master/commits.json index 8d70bf29..7285c314 100644 --- a/Propene-Dan_ip_master/commits.json +++ b/Propene-Dan_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"Propene-Dan":[]},"authorFileTypeContributionMap":{"Propene-Dan":{"java":0,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"Propene-Dan":0.0},"authorDisplayNameMap":{"Propene-Dan":"CS2103T-F12-3 SONG..NGXI"}} +{"authorDailyContributionsMap":{"Propene-Dan":[{"date":"2023-09-02","commitResults":[{"hash":"d70a89cea2ae6cd8c2d8e68d5071177e1c2f009f","isMergeCommit":false,"messageTitle":"add level-0","messageBody":"","tags":["level-0"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":10},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"fb563f92e23aec2088bb5857358079e46b57a680","isMergeCommit":false,"messageTitle":"added Level 1","messageBody":"","tags":["level-1"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":1}}},{"hash":"73ab9678b52ec2961c9a1df227f01896a18602a0","isMergeCommit":false,"messageTitle":"add MyList.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":0}}},{"hash":"6fabf95ece8ef533f7f1b4bea73421b5aa2bec49","isMergeCommit":false,"messageTitle":"added level 2","messageBody":"","tags":["level-2"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":5}}}]}]},"authorFileTypeContributionMap":{"Propene-Dan":{"java":63,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":0,"txt":0}},"authorContributionVariance":{"Propene-Dan":485.21484},"authorDisplayNameMap":{"Propene-Dan":"CS2103T-F12-3 SONG..NGXI"}} diff --git a/TehOPanas_ip_master/authorship.json b/TehOPanas_ip_master/authorship.json index 31ee8a8b..7461791f 100644 --- a/TehOPanas_ip_master/authorship.json +++ b/TehOPanas_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"# duke project template","lastModifiedDate":"2023-08-29"},{"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":"TehOPanas"},"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":"2023-08-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"}],"authorContributionMap":{"TehOPanas":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":"TehOPanas"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" implementation \u0027com.google.code.gson:gson:2.10.1\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":16,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"compileJava.options.encoding \u003d \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"compileTestJava.options.encoding \u003d \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":"tasks.withType(JavaCompile) {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" options.encoding \u003d \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"tasks.withType(Test) {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" systemProperty \"file.encoding\", \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" mainClass.set(\"duke.Duke\")","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":47,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":48,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":49,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":50,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":51,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":52,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":53,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":54,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":55,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"TehOPanas":14,"-":41}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.DukeException;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Parser;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.Storage;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import duke.command.Command;","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * Duke is a chat-bot program, that can help you manage your tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" * The chat-bot\u0027s name is Chewbacca, son of Attichukk.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" private static TaskList list;","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public static Parser parser;","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" private static Storage storage;","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" initialize();","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.startPrompt();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" run();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" * Initializes all required objects to run Duke program","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" public static void initialize() {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" storage \u003d new Storage();","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" list \u003d new TaskList();","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" storage.load(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" parser \u003d new Parser();","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" * Runs the actual program.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" public static void run() {","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" String input \u003d Ui.ui.readInput();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" Command cmd \u003d parser.readInput(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" cmd.execute(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.errorPrompt(e);","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" run();","lastModifiedDate":"2023-08-29"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.wrongDateFormatPrompt();","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" run();","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" * Reads current number of tasks, stored in list","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" * @return size of list","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" public static int listSize() {","lastModifiedDate":"2023-08-29"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" return list.list().size();","lastModifiedDate":"2023-08-29"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" * Returns the list of task","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" * @return TaskList","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" public static TaskList list() {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" return list;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"TehOPanas":77,"-":3}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"public class DukeException extends Exception{","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":" public DukeException(String msg) {","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" super(msg);","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"TehOPanas":9}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.command.*;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Interpret input of user and gives out corresponding commands","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class Parser {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" private Scanner scanner;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" private static DateTimeFormatter format \u003d DateTimeFormatter.ISO_DATE;","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" private int listSize;","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" * Interpret input from user to give out commands","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" * @param input user input","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" * @return corresponding commands to be executed by program","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" * @throws DukeException for any error within the program","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" * @throws DateTimeParseException for wrong date format input by user","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public Command readInput(String input) throws DukeException, DateTimeParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" if (input.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie don\u0027t see any command\");","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" scanner \u003d new Scanner(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" String command \u003d scanner.next();","lastModifiedDate":"2023-08-29"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" listSize \u003d Duke.listSize();","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" switch (command) {","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" case \"bye\":","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" return new TerminateCommand();","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" case \"list\":","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" return new ListCommand();","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" case \"mark\":","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" if (!scanner.hasNextInt()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t see the index of task list.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" int i \u003d scanner.nextInt();","lastModifiedDate":"2023-08-29"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" if (i \u003c 1 || i \u003e listSize)","lastModifiedDate":"2023-08-29"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"The list doesn\u0027t have this index.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" return new MarkCommand(i - 1);","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" if (!scanner.hasNextInt()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t see the index of task list.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" int k \u003d scanner.nextInt();","lastModifiedDate":"2023-08-29"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" if (k \u003c 1 || k \u003e listSize)","lastModifiedDate":"2023-08-29"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"The list doesn\u0027t have this index.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" return new UnmarkCommand(k - 1);","lastModifiedDate":"2023-08-29"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" case \"delete\":","lastModifiedDate":"2023-08-29"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" if (!scanner.hasNextInt()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t see the index of task list.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" int j \u003d scanner.nextInt();","lastModifiedDate":"2023-08-29"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" if (j \u003c 1 || j \u003e listSize)","lastModifiedDate":"2023-08-29"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"The list doesn\u0027t have this index.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" listSize--;","lastModifiedDate":"2023-08-29"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" return new DeleteCommand(j - 1);","lastModifiedDate":"2023-08-29"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-29"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" String deadlinePrompt \u003d scanner.nextLine();","lastModifiedDate":"2023-08-29"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":" if (deadlinePrompt.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says deadline\u0027s description cannot be empty.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" String[] deadlineRemain \u003d deadlinePrompt.split(\" /by \");","lastModifiedDate":"2023-08-29"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" if (deadlineRemain.length !\u003d 2 || deadlineRemain[0].isBlank() || deadlineRemain[1].isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says deadline\u0027s description is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" String task \u003d deadlineRemain[0].trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" String dateString \u003d deadlineRemain[1].trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":" LocalDate date \u003d LocalDate.parse(dateString,format);","lastModifiedDate":"2023-08-29"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":" listSize++;","lastModifiedDate":"2023-08-29"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" return new CreateDeadlineCommand(task,date);","lastModifiedDate":"2023-08-29"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" case \"todo\":","lastModifiedDate":"2023-08-29"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":" String ToDoRemain \u003d scanner.nextLine().trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" if (ToDoRemain.isBlank()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says todo\u0027s description cannot be empty.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" listSize++;","lastModifiedDate":"2023-08-29"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":" return new CreateToDoCommand(ToDoRemain);","lastModifiedDate":"2023-08-29"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" case \"event\":","lastModifiedDate":"2023-08-29"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":" String eventPrompt \u003d scanner.nextLine().trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":" if (eventPrompt.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s description cannot be empty.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" String[] eventRemain \u003d eventPrompt.split(\" /from \");","lastModifiedDate":"2023-08-29"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" if (eventRemain.length !\u003d 2 || eventRemain[0].isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s description is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" String eventTask \u003d eventRemain[0];","lastModifiedDate":"2023-08-29"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" String[] eventDate \u003d eventRemain[1].split(\" /to \");","lastModifiedDate":"2023-08-29"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":" if (eventDate.length !\u003d2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s time is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" String startDate \u003d eventDate[0];","lastModifiedDate":"2023-08-29"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" String endDate \u003d eventDate[1];","lastModifiedDate":"2023-08-29"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" if (startDate.isBlank() || endDate.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s time is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" LocalDate start \u003d LocalDate.parse(startDate,format);","lastModifiedDate":"2023-08-29"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" LocalDate end \u003d LocalDate.parse(endDate,format);","lastModifiedDate":"2023-08-29"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" listSize++;","lastModifiedDate":"2023-08-29"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":" return new CreateEventCommand(eventTask,start,end);","lastModifiedDate":"2023-08-29"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" default:","lastModifiedDate":"2023-08-29"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t recgonize this command: \" + command);","lastModifiedDate":"2023-08-29"},{"lineNumber":152,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":153,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":154,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":155,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":155}},{"path":"src/main/java/duke/SaveData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Events;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.rmi.server.ServerNotActiveException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Object to keep track of all data from user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class SaveData {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public String[] type;","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" public ToDo[] toDos;","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public Deadline[] deadlines;","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public Events[] events;","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" public SaveData(Task[] list) {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" int n \u003d list.length;","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" type \u003d new String[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" toDos \u003d new ToDo[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" deadlines \u003d new Deadline[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" events \u003d new Events[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c n; i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" type[i] \u003d list[i].type();","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" switch (type[i]) {","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" case \"Task.ToDo\":","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" toDos[i] \u003d (ToDo) list[i];","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Deadline\":","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" deadlines[i] \u003d (Deadline) list[i];","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Events\":","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" events[i] \u003d (Events) list[i];","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof SaveData) {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" SaveData temp \u003d (SaveData) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" if (type.length !\u003d temp.type.length) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c type.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" if (!type[i].equals(temp.type[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" switch (type[i]) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" case \"Task.ToDo\":","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" if (!toDos[i].equals(temp.toDos[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Deadline\":","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" if (!deadlines[i].equals(temp.deadlines[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Events\":","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" if (!events[i].equals(temp.events[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TehOPanas":94}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import com.google.gson.Gson;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import com.google.gson.stream.JsonReader;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.io.*;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Saves and loads user data from and into the program when","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" * program is terminated and intialized","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"public class Storage {","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" private static final String fileName \u003d \"ChewieBrain.json\";","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" private static final Gson gson \u003d new Gson();","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" private boolean isNewSave \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" private boolean isFailSave \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" private SaveData save;","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" * Save the user\u0027s task list into a json file","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" * @param list user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" public void save(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" SaveData save \u003d new SaveData(list.list().toArray(new Task[0]));","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" String json \u003d gson.toJson(save);","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" // write to save file","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" File saveFile \u003d new File(fileName);","lastModifiedDate":"2023-08-29"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" FileWriter fw \u003d new FileWriter(saveFile);","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" fw.write(json);","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" fw.close();","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" System.out.print(\"Chewie have difficulty remembering your tasks.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" * Overloaded method of save, with additional argument to set directory of save file","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" * @param list user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" * @param filePath directory for save file","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" public void save(TaskList list, String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" SaveData save \u003d new SaveData(list.list().toArray(new Task[0]));","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" String json \u003d gson.toJson(save);","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" // write to save file","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" File saveFile \u003d new File(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" FileWriter fw \u003d new FileWriter(saveFile);","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" fw.write(json);","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" fw.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" System.out.print(\"Chewie have difficulty remembering your tasks.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" isFailSave \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" * Loads save file into program when program initialize","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" * @param list","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" public void load(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-08-29"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" JsonReader reader \u003d new JsonReader(new FileReader(fileName));","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" save \u003d gson.fromJson(reader, SaveData.class);","lastModifiedDate":"2023-08-29"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" save \u003d new SaveData(new Task[0]);","lastModifiedDate":"2023-08-29"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":" } finally {","lastModifiedDate":"2023-08-29"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c save.type.length; i++) {","lastModifiedDate":"2023-08-29"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" String s \u003d save.type[i];","lastModifiedDate":"2023-08-29"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" if (s.equals(\"Task.ToDo\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" list.add(save.toDos[i]);","lastModifiedDate":"2023-08-29"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" } else if (s.equals(\"Task.Events\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" list.add(save.events[i]);","lastModifiedDate":"2023-08-29"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" } else {","lastModifiedDate":"2023-08-29"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" list.add(save.deadlines[i]);","lastModifiedDate":"2023-08-29"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" * Overloaded method of load","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" * @param list","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":" * @param filePath","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" public void load(TaskList list, String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":" JsonReader reader \u003d new JsonReader(new FileReader(filePath));","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" save \u003d gson.fromJson(reader, SaveData.class);","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":" save \u003d new SaveData(new Task[0]);","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" isNewSave \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" } finally {","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c save.type.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" String s \u003d save.type[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" if (s.equals(\"Task.ToDo\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":" list.add(save.toDos[i]);","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" } else if (s.equals(\"Task.Events\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" list.add(save.events[i]);","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":" list.add(save.deadlines[i]);","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":" * To check if program runs on a new save","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" * @return is the program initialized with a new Save","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" public boolean isNewSave() {","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" return isNewSave;","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" * To check if save is unsuccessful","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" * @return Is save unsuccesssull","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":" public boolean isFailSave() {","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" return isFailSave;","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":151}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import java.util.List;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * Handles the input and output of the program","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"public class Ui {","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" //singleton","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public static Ui ui \u003d new Ui();","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" * Draws a line","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" * @return a line","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public String drawLine() {","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" char horizontal_line \u003d \u0027\\u2500\u0027;","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" String line \u003d \"\";","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c 50; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" line +\u003d horizontal_line;","lastModifiedDate":"2023-08-29"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" return line;","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" * Draws logo of DUKE","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" public void logo() {","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" String logo \u003d \" ____ _\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" + \"| _ \\\\ _ _| | _____\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Hello from\\n\" + logo);","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" * Displays message of creating Task","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" * @param task","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" public void createTaskPrompt (Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie gotcha, task added:\\n\" + task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie now find \" + Duke.listSize() + \" tasks in the list\" + \"\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" * Display the message of marking a task","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" * @param task task created","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" public void markPrompt(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Rrrruuuurrr, Chewie has marked the task.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" System.out.println(task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" * Displays the message of unmarking a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" * @param task task created","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" public void unmarkPrompt(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Rrrruuuurrr, Chewie has unmarked the task.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" System.out.println(task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" * Display the message of deleting a task","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" * @param task task created","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" public void deletePrompt(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie gotcha, task removed:\\n\" + task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie now find \" + (Duke.listSize() - 1) + \" tasks in the list\" + \"\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" * Display list of task","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" * @param taskList user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" public void listPrompt(TaskList taskList) {","lastModifiedDate":"2023-08-29"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" List\u003cTask\u003e list \u003d taskList.list();","lastModifiedDate":"2023-08-29"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie found your task list:\");","lastModifiedDate":"2023-08-29"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c list.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" int index \u003d i + 1;","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":" Task task \u003d list.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":" System.out.println(index + \".\" + task.status() + task.taskName());","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":" * Display the starting message of the program","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" public void startPrompt() {","lastModifiedDate":"2023-08-29"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" logo();","lastModifiedDate":"2023-08-29"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Rrrruuuurrr, I am Chewbacca, son of Attichitcuk\");","lastModifiedDate":"2023-08-29"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"How can Chewie help?\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":" * Display ending message of program","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":" public void endPrompt() {","lastModifiedDate":"2023-08-29"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie is going home now.\\nBye bye.\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":" * Display error message to user","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":" * @param e error encountered","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" public void errorPrompt(Exception e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-29"},{"lineNumber":152,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":153,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":154,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":155,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"TehOPanas"},"content":" * Display wrong date format message","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"TehOPanas"},"content":" public void wrongDateFormatPrompt() {","lastModifiedDate":"2023-08-29"},{"lineNumber":160,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":161,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"The date format is incorrect, please use yyyy-mm-dd format\");","lastModifiedDate":"2023-08-29"},{"lineNumber":162,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":163,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":164,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":165,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"TehOPanas"},"content":" * Read input from user","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"TehOPanas"},"content":" * @return input as String","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"TehOPanas"},"content":" public String readInput() {","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"TehOPanas"},"content":" return scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":173}},{"path":"src/main/java/duke/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" * Command encapsulates information for execution to be done","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * according to user\u0027s input","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public abstract class Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" * Executes the instruction in command","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" * @param list","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" public abstract void execute(TaskList list);","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":20}},{"path":"src/main/java/duke/command/CreateDeadlineCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Command to create a deadline task","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class CreateDeadlineCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" private Deadline task;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" public CreateDeadlineCommand(String task, LocalDate by) {","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" this.task \u003d new Deadline(task,by);","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.createTaskPrompt(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" public Deadline task(){","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof CreateDeadlineCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand temp \u003d (CreateDeadlineCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" return this.task.equals(temp.task());","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":43}},{"path":"src/main/java/duke/command/CreateEventCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Events;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Command to create event task","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class CreateEventCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" private Events task;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" public CreateEventCommand(String task, LocalDate from, LocalDate to) {","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" this.task \u003d new Events(task, from, to);","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.createTaskPrompt(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" public Events task(){","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof CreateEventCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand temp \u003d (CreateEventCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" return this.task.equals(temp.task());","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":43}},{"path":"src/main/java/duke/command/CreateToDoCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * Command to create ToDo task","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"public class CreateToDoCommand extends Command{","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" private ToDo task;","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public CreateToDoCommand(String task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" this.task \u003d new ToDo(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.createTaskPrompt(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" public ToDo task(){","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof CreateToDoCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand temp \u003d (CreateToDoCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" return this.task.equals(temp.task());","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":41}},{"path":"src/main/java/duke/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.*;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Command to delete task from list","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" private int index;","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public DeleteCommand(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" index \u003d i;","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.deletePrompt(list.list().get(index));","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" list.delete(index);","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public int index() {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" return index;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof DeleteCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand temp \u003d (DeleteCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" return this.index \u003d\u003d ((DeleteCommand) o).index();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":38}},{"path":"src/main/java/duke/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to show list","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class ListCommand extends Command{","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.listPrompt(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return o instanceof ListCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":24}},{"path":"src/main/java/duke/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to mark task from list as done","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" private int index;","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" public MarkCommand(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" index \u003d i;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" list.mark(index);","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.markPrompt(list.list().get(index));","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" public int index() {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" return index;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof MarkCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" MarkCommand temp \u003d (MarkCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" return this.index \u003d\u003d temp.index();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":39}},{"path":"src/main/java/duke/command/TerminateCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Storage;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to terminate program","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class TerminateCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" Storage storage \u003d new Storage();","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" storage.save(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.endPrompt();","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return o instanceof TerminateCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":25}},{"path":"src/main/java/duke/command/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to mark task from list as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class UnmarkCommand extends Command{","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" private int index;","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public UnmarkCommand(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" index \u003d i;","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" list.unmark(index);","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.unmarkPrompt(list.list().get(index));","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public int index() {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" return index;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof UnmarkCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand temp \u003d (UnmarkCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" return this.index \u003d\u003d temp.index();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":38}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Task with deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" private String date;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public Deadline(String task, LocalDate date) {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" super(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" this.date \u003d date.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return isDone() ? \"[D][X]\" : \"[D][ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public String taskName() {","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" return super.taskName() + \" (by: \" + date + \")\";","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" return \"Task.Deadline\";","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" * Show date of task","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" * @return date of task in LocalDate","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public LocalDate date() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" return LocalDate.parse(date, DateTimeFormatter.ISO_DATE);","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof Deadline) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" Deadline temp \u003d (Deadline) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" return this.date().equals(temp.date()) \u0026\u0026 taskName().equals(temp.taskName()) \u0026\u0026 isDone() \u003d\u003d temp.isDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":52}},{"path":"src/main/java/duke/task/Events.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Task with defined start and end date","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public class Events extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" private String startDate;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" private String endDate;","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public Events(String task, LocalDate start, LocalDate end) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" super(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" startDate \u003d start.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" endDate \u003d end.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" return isDone() ? \"[E][X]\" : \"[E][ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" public String taskName() {","lastModifiedDate":"2023-08-21"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" return super.taskName() + \" (from: \" + startDate + \" to: \" + endDate + \")\";","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" return \"Task.Events\";","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" * Returns starting date of event","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" * @return start date","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" public LocalDate startDate() {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" return LocalDate.parse(startDate, DateTimeFormatter.ISO_DATE);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" * Returns ending date of event","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" * @return end date","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" public LocalDate endDate() {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" return LocalDate.parse(endDate, DateTimeFormatter.ISO_DATE);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o){","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof Events) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" Events temp \u003d (Events) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" return this.startDate().equals(temp.startDate()) \u0026\u0026 this.endDate().equals(temp.endDate())","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" \u0026\u0026 taskName().equals(temp.taskName()) \u0026\u0026 isDone() \u003d\u003d temp.isDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":65}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":" * Encapsulates of data related to a single task of user","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"public class Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" private String name;","lastModifiedDate":"2023-08-21"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" private boolean done;","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" public Task(String task) {","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" name \u003d task;","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" done \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" * Show the type of task","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" * @return a string indicating its type","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" return \"duke/task\";","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" * Returns what task is in this object","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" * @return task name","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" public String taskName() {","lastModifiedDate":"2023-08-21"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" return name;","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" * Tags this task as done","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public void mark() {","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" done \u003d true;","lastModifiedDate":"2023-08-21"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" * Tags this task as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" public void unmark() {","lastModifiedDate":"2023-08-21"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" done \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" * Check if the task is done","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" * @return true if task is done","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-21"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" return done;","lastModifiedDate":"2023-08-21"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" * Return the string representation of isDone()","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" * @return a string marker indicating status of task","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" return done ? \"[X]\" : \"[ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o){","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof Task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" Task temp \u003d (Task)o;","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" return this.name.equals(temp.taskName()) \u0026\u0026 this.done \u003d\u003d temp.isDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":80}},{"path":"src/main/java/duke/task/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import java.util.List;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Task list of user\u0027s task","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"public class TaskList {","lastModifiedDate":"2023-08-29"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" private ArrayList\u003cTask\u003e list;","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" public TaskList() {","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" list \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" * Adds task into list","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" * @param task user\u0027s task","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" * Delete task from list","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" * @param i index of item in list","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public void delete(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" list.remove(i);","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" * Mark task from list as done","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" * @param i index of item in list","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public void mark(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" list.get(i).mark();","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" * Mark task from list as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" * @param i index of item in list","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" public void unmark(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" list.get(i).unmark();","lastModifiedDate":"2023-08-29"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" * Returns the list","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" * @return list","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" public List\u003cTask\u003e list() {","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" return list;","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof TaskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" TaskList temp \u003d (TaskList) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" List\u003cTask\u003e check \u003d temp.list();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" if (list.size() !\u003d check.size()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c list.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" if (list.get(i).equals(check.get(i))) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":83}},{"path":"src/main/java/duke/task/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":" * Task needed to be done","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" public ToDo(String task) {","lastModifiedDate":"2023-08-21"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" super(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" return isDone() ? \"[T][X]\" : \"[T][ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return \"Task.ToDo\";","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof ToDo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" ToDo temp \u003d (ToDo) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" return super.equals(temp);","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":33}},{"path":"src/test/java/duke/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.command.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" Parser parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @BeforeEach","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public void setUp() {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Duke.initialize();","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" Command result \u003d parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie don\u0027t see any command\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public void readInput_unknownCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"lololololol\";","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" Command result \u003d parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t recgonize this command: lololololol\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validTodo_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"todo run\";","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand result \u003d (CreateToDoCommand)parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand expected \u003d new CreateToDoCommand(\"run\");","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyTodo_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"todo \";","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand result \u003d (CreateToDoCommand)parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says todo\u0027s description cannot be empty.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validDeadline_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline run /by 2020-12-26\";","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand expected \u003d new CreateDeadlineCommand(\"run\",","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2020-12-26\", DateTimeFormatter.ISO_DATE));","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyDeadline_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline \";","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says deadline\u0027s description cannot be empty.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":" public void readInput_invalidDateDeadline_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline run /by 1626\";","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongDateFormatDeadline_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline run \";","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says deadline\u0027s description is wrong.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validEvent_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event run /from 2020-12-26 /to 2021-10-10\";","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand expected \u003d new CreateEventCommand(\"run\",","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2020-12-26\",DateTimeFormatter.ISO_DATE),","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2021-10-10\",DateTimeFormatter.ISO_DATE));","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" public void readInput_invalidDateEvent_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event run /from 156156 /by 51651\";","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyEvent_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event \";","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says event\u0027s description cannot be empty.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongDateFormatEvent_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event run /by\";","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says event\u0027s description is wrong.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validList_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"list\";","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"TehOPanas"},"content":" ListCommand result \u003d (ListCommand) parser.readInput(\"list\");","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"TehOPanas"},"content":" ListCommand expected \u003d new ListCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validMark_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"TehOPanas"},"content":" MarkCommand result \u003d (MarkCommand) parser.readInput(\"mark 1\");","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"TehOPanas"},"content":" MarkCommand expected \u003d new MarkCommand(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":195,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":196,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":197,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":198,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":199,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":200,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyMark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":201,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":202,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"mark \";","lastModifiedDate":"2023-09-02"},{"lineNumber":203,"author":{"gitId":"TehOPanas"},"content":" MarkCommand result \u003d (MarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":204,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":205,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":206,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t see the index of task list.\",e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":207,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":208,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":209,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":210,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":211,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongMark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":212,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":213,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"mark 1\";","lastModifiedDate":"2023-09-02"},{"lineNumber":214,"author":{"gitId":"TehOPanas"},"content":" MarkCommand result \u003d (MarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":215,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":216,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":217,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"The list doesn\u0027t have this index.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":218,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":219,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":220,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":221,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":222,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validUnmark_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":223,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":224,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":225,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand result \u003d (UnmarkCommand) parser.readInput(\"unmark 1\");","lastModifiedDate":"2023-09-02"},{"lineNumber":226,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand expected \u003d new UnmarkCommand(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":227,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":228,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":229,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":230,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":231,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":232,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":233,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":234,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":235,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyUnmark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":236,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":237,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"unmark \";","lastModifiedDate":"2023-09-02"},{"lineNumber":238,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand result \u003d (UnmarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":239,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":240,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":241,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t see the index of task list.\",e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":242,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":243,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":244,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":245,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":246,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongUnmark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":247,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":248,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"unmark 1\";","lastModifiedDate":"2023-09-02"},{"lineNumber":249,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand result \u003d (UnmarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":250,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":251,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":252,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"The list doesn\u0027t have this index.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":253,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":254,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":255,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":256,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":257,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validDelete_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":258,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":259,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":260,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand result \u003d (DeleteCommand) parser.readInput(\"delete 1\");","lastModifiedDate":"2023-09-02"},{"lineNumber":261,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand expected \u003d new DeleteCommand(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":262,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":263,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":264,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":265,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":266,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":267,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":268,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":269,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":270,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyDelete_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":271,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":272,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"delete \";","lastModifiedDate":"2023-09-02"},{"lineNumber":273,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand result \u003d (DeleteCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":274,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":275,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":276,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t see the index of task list.\",e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":277,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":278,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":279,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":280,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":281,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongDelete_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":282,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":283,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"delete 1\";","lastModifiedDate":"2023-09-02"},{"lineNumber":284,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand result \u003d (DeleteCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":285,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":286,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":287,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"The list doesn\u0027t have this index.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":288,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":289,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":290,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"TehOPanas":290}},{"path":"src/test/java/duke/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Events;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"import static org.junit.jupiter.api.Assertions.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class StorageTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" String filePath \u003d \"ChewieTest.json\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" @BeforeEach","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public void setUp() {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" storage \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" public void load_noSuchFile_newSave() {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" TaskList list \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" storage.load(list, \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" assertTrue(storage.isNewSave());","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" public void load_validFile_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" TaskList result \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" storage.load(result,\"ChewieTest.json\");","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" TaskList expected \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" expected.add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" expected.add(new Deadline(\"jump\", LocalDate.parse(\"2020-10-10\", DateTimeFormatter.ISO_DATE)));","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" expected.add(new Events(\"kill\", LocalDate.parse(\"2020-10-10\",DateTimeFormatter.ISO_DATE),","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2020-12-26\",DateTimeFormatter.ISO_DATE)));","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" expected.mark(1);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" assertEquals(result,expected);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"TehOPanas":47}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"todo run","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"deadline CS2103t iP /by 25 August","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"event meeting with Han /from 8pm /to 2am","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"mark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"mark 3","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"unmark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"todo fight","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"TehOPanas":12}},{"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":"TehOPanas"},"content":"java -Dfile.encoding\u003dUTF-8 -classpath ..\\bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"TehOPanas":1,"-":20}}] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"# duke project template","lastModifiedDate":"2023-08-29"},{"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":"TehOPanas"},"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":"2023-08-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"}],"authorContributionMap":{"TehOPanas":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":"TehOPanas"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" implementation \u0027com.google.code.gson:gson:2.10.1\u0027","lastModifiedDate":"2023-08-28"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":16,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"compileJava.options.encoding \u003d \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"compileTestJava.options.encoding \u003d \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":"tasks.withType(JavaCompile) {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" options.encoding \u003d \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"tasks.withType(Test) {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" systemProperty \"file.encoding\", \"UTF-8\"","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" mainClass.set(\"duke.Duke\")","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":47,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":48,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \"duke\"","lastModifiedDate":"2020-05-25"},{"lineNumber":49,"author":{"gitId":"-"},"content":" archiveClassifier \u003d null","lastModifiedDate":"2020-05-25"},{"lineNumber":50,"author":{"gitId":"-"},"content":" dependsOn(\"distZip\", \"distTar\")","lastModifiedDate":"2023-08-05"},{"lineNumber":51,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":52,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":53,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":54,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":55,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"TehOPanas":14,"-":41}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.DukeException;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Parser;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.Storage;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import duke.command.Command;","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-28"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * Duke is a chat-bot program, that can help you manage your tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" * The chat-bot\u0027s name is Chewbacca, son of Attichukk.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" private static TaskList list;","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public static Parser parser;","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" private static Storage storage;","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" initialize();","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.startPrompt();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" run();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" * Initializes all required objects to run Duke program","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" public static void initialize() {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" storage \u003d new Storage();","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" list \u003d new TaskList();","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" storage.load(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" parser \u003d new Parser();","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" * Runs the actual program.","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" public static void run() {","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" String input \u003d Ui.ui.readInput();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" Command cmd \u003d parser.readInput(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" cmd.execute(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.errorPrompt(e);","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" run();","lastModifiedDate":"2023-08-29"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-08-28"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.wrongDateFormatPrompt();","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" run();","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" * Reads current number of tasks, stored in list","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" * @return size of list","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" public static int listSize() {","lastModifiedDate":"2023-08-29"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" return list.list().size();","lastModifiedDate":"2023-08-29"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" * Returns the list of task","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" * @return TaskList","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" public static TaskList list() {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" return list;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"TehOPanas":77,"-":3}},{"path":"src/main/java/duke/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"public class DukeException extends Exception{","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":" public DukeException(String msg) {","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" super(msg);","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"TehOPanas":9}},{"path":"src/main/java/duke/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.command.*;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Interpret input of user and gives out corresponding commands","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class Parser {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" private Scanner scanner;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" private static DateTimeFormatter format \u003d DateTimeFormatter.ISO_DATE;","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" private int listSize;","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" * Interpret input from user to give out commands","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" * @param input user input","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" * @return corresponding commands to be executed by program","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" * @throws DukeException for any error within the program","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" * @throws DateTimeParseException for wrong date format input by user","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public Command readInput(String input) throws DukeException, DateTimeParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" if (input.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie don\u0027t see any command\");","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" scanner \u003d new Scanner(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" String command \u003d scanner.next();","lastModifiedDate":"2023-08-29"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" listSize \u003d Duke.listSize();","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" switch (command) {","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" case \"bye\":","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" return new TerminateCommand();","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" case \"list\":","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" return new ListCommand();","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" case \"mark\":","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" if (!scanner.hasNextInt()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t see the index of task list.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" int i \u003d scanner.nextInt();","lastModifiedDate":"2023-08-29"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" if (i \u003c 1 || i \u003e listSize)","lastModifiedDate":"2023-08-29"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"The list doesn\u0027t have this index.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" return new MarkCommand(i - 1);","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" if (!scanner.hasNextInt()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t see the index of task list.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" int k \u003d scanner.nextInt();","lastModifiedDate":"2023-08-29"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" if (k \u003c 1 || k \u003e listSize)","lastModifiedDate":"2023-08-29"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"The list doesn\u0027t have this index.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" return new UnmarkCommand(k - 1);","lastModifiedDate":"2023-08-29"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" case \"delete\":","lastModifiedDate":"2023-08-29"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" if (!scanner.hasNextInt()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t see the index of task list.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" int j \u003d scanner.nextInt();","lastModifiedDate":"2023-08-29"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" if (j \u003c 1 || j \u003e listSize)","lastModifiedDate":"2023-08-29"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"The list doesn\u0027t have this index.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" listSize--;","lastModifiedDate":"2023-08-29"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" return new DeleteCommand(j - 1);","lastModifiedDate":"2023-08-29"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" case \"find\":","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" String findPrompt \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":" findPrompt \u003d findPrompt.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" if (findPrompt.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"There is no keyword\");","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" return new FindCommand(findPrompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" String deadlinePrompt \u003d scanner.nextLine();","lastModifiedDate":"2023-08-29"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" if (deadlinePrompt.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says deadline\u0027s description cannot be empty.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" String[] deadlineRemain \u003d deadlinePrompt.split(\" /by \");","lastModifiedDate":"2023-08-29"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" if (deadlineRemain.length !\u003d 2 || deadlineRemain[0].isBlank() || deadlineRemain[1].isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says deadline\u0027s description is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":" String task \u003d deadlineRemain[0].trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" String dateString \u003d deadlineRemain[1].trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":" LocalDate date \u003d LocalDate.parse(dateString,format);","lastModifiedDate":"2023-08-29"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" listSize++;","lastModifiedDate":"2023-08-29"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":" return new CreateDeadlineCommand(task,date);","lastModifiedDate":"2023-08-29"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" case \"todo\":","lastModifiedDate":"2023-08-29"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":" String ToDoRemain \u003d scanner.nextLine().trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" if (ToDoRemain.isBlank()) {","lastModifiedDate":"2023-08-29"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says todo\u0027s description cannot be empty.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":" listSize++;","lastModifiedDate":"2023-08-29"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":" return new CreateToDoCommand(ToDoRemain);","lastModifiedDate":"2023-08-29"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" case \"event\":","lastModifiedDate":"2023-08-29"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" String eventPrompt \u003d scanner.nextLine().trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" if (eventPrompt.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s description cannot be empty.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":" String[] eventRemain \u003d eventPrompt.split(\" /from \");","lastModifiedDate":"2023-08-29"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":" if (eventRemain.length !\u003d 2 || eventRemain[0].isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s description is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" String eventTask \u003d eventRemain[0];","lastModifiedDate":"2023-08-29"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" String[] eventDate \u003d eventRemain[1].split(\" /to \");","lastModifiedDate":"2023-08-29"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":" if (eventDate.length !\u003d2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s time is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" String startDate \u003d eventDate[0];","lastModifiedDate":"2023-08-29"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":" String endDate \u003d eventDate[1];","lastModifiedDate":"2023-08-29"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" if (startDate.isBlank() || endDate.isBlank()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie says event\u0027s time is wrong.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":153,"author":{"gitId":"TehOPanas"},"content":" LocalDate start \u003d LocalDate.parse(startDate,format);","lastModifiedDate":"2023-08-29"},{"lineNumber":154,"author":{"gitId":"TehOPanas"},"content":" LocalDate end \u003d LocalDate.parse(endDate,format);","lastModifiedDate":"2023-08-29"},{"lineNumber":155,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":156,"author":{"gitId":"TehOPanas"},"content":" listSize++;","lastModifiedDate":"2023-08-29"},{"lineNumber":157,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":158,"author":{"gitId":"TehOPanas"},"content":" return new CreateEventCommand(eventTask,start,end);","lastModifiedDate":"2023-08-29"},{"lineNumber":159,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":160,"author":{"gitId":"TehOPanas"},"content":" default:","lastModifiedDate":"2023-08-29"},{"lineNumber":161,"author":{"gitId":"TehOPanas"},"content":" throw new DukeException(\"Chewie doesn\u0027t recgonize this command: \" + command);","lastModifiedDate":"2023-08-29"},{"lineNumber":162,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":163,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":164,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":165,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":165}},{"path":"src/main/java/duke/SaveData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Events;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.rmi.server.ServerNotActiveException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Object to keep track of all data from user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class SaveData {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public String[] type;","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" public ToDo[] toDos;","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public Deadline[] deadlines;","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" ","lastModifiedDate":"2023-08-28"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public Events[] events;","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" public SaveData(Task[] list) {","lastModifiedDate":"2023-08-28"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" int n \u003d list.length;","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" type \u003d new String[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" toDos \u003d new ToDo[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" deadlines \u003d new Deadline[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" events \u003d new Events[n];","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c n; i++) {","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" type[i] \u003d list[i].type();","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" switch (type[i]) {","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" case \"Task.ToDo\":","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" toDos[i] \u003d (ToDo) list[i];","lastModifiedDate":"2023-08-28"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Deadline\":","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" deadlines[i] \u003d (Deadline) list[i];","lastModifiedDate":"2023-08-28"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Events\":","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" events[i] \u003d (Events) list[i];","lastModifiedDate":"2023-08-28"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-08-28"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof SaveData) {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" SaveData temp \u003d (SaveData) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" if (type.length !\u003d temp.type.length) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c type.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" if (!type[i].equals(temp.type[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" switch (type[i]) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" case \"Task.ToDo\":","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" if (!toDos[i].equals(temp.toDos[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Deadline\":","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" if (!deadlines[i].equals(temp.deadlines[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" case \"Task.Events\":","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" if (!events[i].equals(temp.events[i])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-28"}],"authorContributionMap":{"TehOPanas":94}},{"path":"src/main/java/duke/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import com.google.gson.Gson;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import com.google.gson.stream.JsonReader;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.io.*;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Saves and loads user data from and into the program when","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" * program is terminated and intialized","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"public class Storage {","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" private static final String fileName \u003d \"ChewieBrain.json\";","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" private static final Gson gson \u003d new Gson();","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" private boolean isNewSave \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" private boolean isFailSave \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" private SaveData save;","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" * Save the user\u0027s task list into a json file","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" * @param list user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" public void save(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" SaveData save \u003d new SaveData(list.list().toArray(new Task[0]));","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" String json \u003d gson.toJson(save);","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" // write to save file","lastModifiedDate":"2023-08-29"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-08-29"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" File saveFile \u003d new File(fileName);","lastModifiedDate":"2023-08-29"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" FileWriter fw \u003d new FileWriter(saveFile);","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" fw.write(json);","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" fw.close();","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" System.out.print(\"Chewie have difficulty remembering your tasks.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" * Overloaded method of save, with additional argument to set directory of save file","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" * @param list user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" * @param filePath directory for save file","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" public void save(TaskList list, String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" SaveData save \u003d new SaveData(list.list().toArray(new Task[0]));","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" String json \u003d gson.toJson(save);","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" // write to save file","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" File saveFile \u003d new File(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" FileWriter fw \u003d new FileWriter(saveFile);","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" fw.write(json);","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" fw.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" System.out.print(\"Chewie have difficulty remembering your tasks.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" isFailSave \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" * Loads save file into program when program initialize","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" * @param list","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" public void load(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-08-29"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" JsonReader reader \u003d new JsonReader(new FileReader(fileName));","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" save \u003d gson.fromJson(reader, SaveData.class);","lastModifiedDate":"2023-08-29"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" save \u003d new SaveData(new Task[0]);","lastModifiedDate":"2023-08-29"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":" } finally {","lastModifiedDate":"2023-08-29"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c save.type.length; i++) {","lastModifiedDate":"2023-08-29"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" String s \u003d save.type[i];","lastModifiedDate":"2023-08-29"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" if (s.equals(\"Task.ToDo\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" list.add(save.toDos[i]);","lastModifiedDate":"2023-08-29"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" } else if (s.equals(\"Task.Events\")) {","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" list.add(save.events[i]);","lastModifiedDate":"2023-08-29"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" } else {","lastModifiedDate":"2023-08-29"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" list.add(save.deadlines[i]);","lastModifiedDate":"2023-08-29"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" * Overloaded method of load","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" * @param list","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":" * @param filePath","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" public void load(TaskList list, String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":" JsonReader reader \u003d new JsonReader(new FileReader(filePath));","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" save \u003d gson.fromJson(reader, SaveData.class);","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":" save \u003d new SaveData(new Task[0]);","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" isNewSave \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" } finally {","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c save.type.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" String s \u003d save.type[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" if (s.equals(\"Task.ToDo\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":" list.add(save.toDos[i]);","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" } else if (s.equals(\"Task.Events\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" list.add(save.events[i]);","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":" list.add(save.deadlines[i]);","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":" * To check if program runs on a new save","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" * @return is the program initialized with a new Save","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" public boolean isNewSave() {","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" return isNewSave;","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" * To check if save is unsuccessful","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" * @return Is save unsuccesssull","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":" public boolean isFailSave() {","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" return isFailSave;","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":151}},{"path":"src/main/java/duke/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import java.util.List;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * Handles the input and output of the program","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"public class Ui {","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" //singleton","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public static Ui ui \u003d new Ui();","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" * Draws a line","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" * @return a line","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public String drawLine() {","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" char horizontal_line \u003d \u0027\\u2500\u0027;","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" String line \u003d \"\";","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c 50; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" line +\u003d horizontal_line;","lastModifiedDate":"2023-08-29"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" return line;","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" * Draws logo of DUKE","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" public void logo() {","lastModifiedDate":"2023-08-29"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" String logo \u003d \" ____ _\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" + \"| _ \\\\ _ _| | _____\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-29"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Hello from\\n\" + logo);","lastModifiedDate":"2023-08-29"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" * Displays message of creating Task","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" * @param task","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" public void createTaskPrompt (Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie gotcha, task added:\\n\" + task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie now find \" + Duke.listSize() + \" tasks in the list\" + \"\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" * Display the message of marking a task","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" * @param task task created","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" public void markPrompt(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Rrrruuuurrr, Chewie has marked the task.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" System.out.println(task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" * Displays the message of unmarking a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" * @param task task created","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" public void unmarkPrompt(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Rrrruuuurrr, Chewie has unmarked the task.\");","lastModifiedDate":"2023-08-29"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" System.out.println(task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" * Display the message of deleting a task","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" * @param task task created","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" public void deletePrompt(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie gotcha, task removed:\\n\" + task.status() + task.taskName());","lastModifiedDate":"2023-08-29"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie now find \" + (Duke.listSize() - 1) + \" tasks in the list\" + \"\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" * Display list of task","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" * @param taskList user\u0027s task list","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" public void listPrompt(TaskList taskList) {","lastModifiedDate":"2023-08-29"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" List\u003cTask\u003e list \u003d taskList.list();","lastModifiedDate":"2023-08-29"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie found your task list:\");","lastModifiedDate":"2023-08-29"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c list.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" int index \u003d i + 1;","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":" Task task \u003d list.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":" System.out.println(index + \".\" + task.status() + task.taskName());","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" public void findPrompt(Task[] list) {","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie found these task:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" for(int i \u003d 0; i \u003c list.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" int index \u003d i + 1;","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" Task task \u003d list[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" System.out.println(index + \".\" + task.status() + task.taskName());","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" * Display the starting message of the program","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" public void startPrompt() {","lastModifiedDate":"2023-08-29"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" logo();","lastModifiedDate":"2023-08-29"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Rrrruuuurrr, I am Chewbacca, son of Attichitcuk\");","lastModifiedDate":"2023-08-29"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"How can Chewie help?\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" * Display ending message of program","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"TehOPanas"},"content":" public void endPrompt() {","lastModifiedDate":"2023-08-29"},{"lineNumber":153,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":154,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"Chewie is going home now.\\nBye bye.\\n\");","lastModifiedDate":"2023-08-29"},{"lineNumber":155,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":156,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":157,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":158,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"TehOPanas"},"content":" * Display error message to user","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"TehOPanas"},"content":" * @param e error encountered","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"TehOPanas"},"content":" public void errorPrompt(Exception e) {","lastModifiedDate":"2023-08-29"},{"lineNumber":164,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":165,"author":{"gitId":"TehOPanas"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-29"},{"lineNumber":166,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":167,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":168,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":169,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"TehOPanas"},"content":" * Display wrong date format message","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"TehOPanas"},"content":" public void wrongDateFormatPrompt() {","lastModifiedDate":"2023-08-29"},{"lineNumber":174,"author":{"gitId":"TehOPanas"},"content":" System.out.println(drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":175,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"The date format is incorrect, please use yyyy-mm-dd format\");","lastModifiedDate":"2023-08-29"},{"lineNumber":176,"author":{"gitId":"TehOPanas"},"content":" System.out.println(\"\\n\" + drawLine());","lastModifiedDate":"2023-08-29"},{"lineNumber":177,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":178,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":179,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"TehOPanas"},"content":" * Read input from user","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"TehOPanas"},"content":" * @return input as String","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"TehOPanas"},"content":" public String readInput() {","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"TehOPanas"},"content":" return scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":187}},{"path":"src/main/java/duke/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" * Command encapsulates information for execution to be done","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * according to user\u0027s input","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public abstract class Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" * Executes the instruction in command","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" * @param list","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" public abstract void execute(TaskList list);","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":20}},{"path":"src/main/java/duke/command/CreateDeadlineCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Command to create a deadline task","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class CreateDeadlineCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" private Deadline task;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" public CreateDeadlineCommand(String task, LocalDate by) {","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" this.task \u003d new Deadline(task,by);","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.createTaskPrompt(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" public Deadline task(){","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof CreateDeadlineCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand temp \u003d (CreateDeadlineCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" return this.task.equals(temp.task());","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":43}},{"path":"src/main/java/duke/command/CreateEventCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Events;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-29"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * Command to create event task","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class CreateEventCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" private Events task;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" public CreateEventCommand(String task, LocalDate from, LocalDate to) {","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" this.task \u003d new Events(task, from, to);","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.createTaskPrompt(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" public Events task(){","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof CreateEventCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand temp \u003d (CreateEventCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" return this.task.equals(temp.task());","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":43}},{"path":"src/main/java/duke/command/CreateToDoCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * Command to create ToDo task","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"public class CreateToDoCommand extends Command{","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" private ToDo task;","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public CreateToDoCommand(String task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" this.task \u003d new ToDo(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.createTaskPrompt(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" public ToDo task(){","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof CreateToDoCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand temp \u003d (CreateToDoCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" return this.task.equals(temp.task());","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":41}},{"path":"src/main/java/duke/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.*;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Command to delete task from list","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" private int index;","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public DeleteCommand(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" index \u003d i;","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.deletePrompt(list.list().get(index));","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" list.delete(index);","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public int index() {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" return index;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof DeleteCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand temp \u003d (DeleteCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" return this.index \u003d\u003d ((DeleteCommand) o).index();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":38}},{"path":"src/main/java/duke/command/FindCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"public class FindCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" private String keyword;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" public FindCommand(String keyword) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" this.keyword \u003d keyword;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" Task[] result \u003d list.findTask(keyword);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.findPrompt(result);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public String getKeyword() {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return keyword;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof FindCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" FindCommand temp \u003d (FindCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" return keyword.equals(temp.getKeyword());","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"TehOPanas":33}},{"path":"src/main/java/duke/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to show list","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class ListCommand extends Command{","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.listPrompt(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return o instanceof ListCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":24}},{"path":"src/main/java/duke/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to mark task from list as done","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" private int index;","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" public MarkCommand(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" index \u003d i;","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" list.mark(index);","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.markPrompt(list.list().get(index));","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" public int index() {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" return index;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof MarkCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" MarkCommand temp \u003d (MarkCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" return this.index \u003d\u003d temp.index();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":39}},{"path":"src/main/java/duke/command/TerminateCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Storage;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to terminate program","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class TerminateCommand extends Command {","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" Storage storage \u003d new Storage();","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" storage.save(list);","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.endPrompt();","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return o instanceof TerminateCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":25}},{"path":"src/main/java/duke/command/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.command;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.Ui;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.Duke;","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" * Command to mark task from list as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"public class UnmarkCommand extends Command{","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" private int index;","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public UnmarkCommand(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" index \u003d i;","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-29"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" public void execute(TaskList list) {","lastModifiedDate":"2023-08-29"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" list.unmark(index);","lastModifiedDate":"2023-08-29"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" Ui.ui.unmarkPrompt(list.list().get(index));","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Duke.run();","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public int index() {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" return index;","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof UnmarkCommand) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand temp \u003d (UnmarkCommand) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" return this.index \u003d\u003d temp.index();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":38}},{"path":"src/main/java/duke/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Task with deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" private String date;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" public Deadline(String task, LocalDate date) {","lastModifiedDate":"2023-08-28"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" super(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" this.date \u003d date.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return isDone() ? \"[D][X]\" : \"[D][ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public String taskName() {","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" return super.taskName() + \" (by: \" + date + \")\";","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" return \"Task.Deadline\";","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" * Show date of task","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" * @return date of task in LocalDate","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public LocalDate date() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" return LocalDate.parse(date, DateTimeFormatter.ISO_DATE);","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof Deadline) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" Deadline temp \u003d (Deadline) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" return this.date().equals(temp.date()) \u0026\u0026 taskName().equals(temp.taskName()) \u0026\u0026 isDone() \u003d\u003d temp.isDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":52}},{"path":"src/main/java/duke/task/Events.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-28"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Task with defined start and end date","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"public class Events extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" private String startDate;","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" private String endDate;","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" public Events(String task, LocalDate start, LocalDate end) {","lastModifiedDate":"2023-08-28"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" super(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" startDate \u003d start.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" endDate \u003d end.toString();","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" return isDone() ? \"[E][X]\" : \"[E][ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" public String taskName() {","lastModifiedDate":"2023-08-21"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" return super.taskName() + \" (from: \" + startDate + \" to: \" + endDate + \")\";","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" return \"Task.Events\";","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" * Returns starting date of event","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" * @return start date","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" public LocalDate startDate() {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" return LocalDate.parse(startDate, DateTimeFormatter.ISO_DATE);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" * Returns ending date of event","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" * @return end date","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" public LocalDate endDate() {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" return LocalDate.parse(endDate, DateTimeFormatter.ISO_DATE);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o){","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof Events) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" Events temp \u003d (Events) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" return this.startDate().equals(temp.startDate()) \u0026\u0026 this.endDate().equals(temp.endDate())","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" \u0026\u0026 taskName().equals(temp.taskName()) \u0026\u0026 isDone() \u003d\u003d temp.isDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":65}},{"path":"src/main/java/duke/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":" * Encapsulates of data related to a single task of user","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"public class Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" private String name;","lastModifiedDate":"2023-08-21"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" private boolean done;","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" public Task(String task) {","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" name \u003d task;","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" done \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" * Show the type of task","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" * @return a string indicating its type","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" return \"duke/task\";","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" * Returns what task is in this object","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" * @return task name","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" public String taskName() {","lastModifiedDate":"2023-08-21"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" return name;","lastModifiedDate":"2023-08-21"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" * Tags this task as done","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public void mark() {","lastModifiedDate":"2023-08-21"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" done \u003d true;","lastModifiedDate":"2023-08-21"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" * Tags this task as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" public void unmark() {","lastModifiedDate":"2023-08-21"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" done \u003d false;","lastModifiedDate":"2023-08-21"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" * Check if the task is done","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" * @return true if task is done","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-21"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" return done;","lastModifiedDate":"2023-08-21"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" * Return the string representation of isDone()","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" * @return a string marker indicating status of task","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" return done ? \"[X]\" : \"[ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o){","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof Task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" Task temp \u003d (Task)o;","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" return this.name.equals(temp.taskName()) \u0026\u0026 this.done \u003d\u003d temp.isDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":80}},{"path":"src/main/java/duke/task/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-29"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import java.util.List;","lastModifiedDate":"2023-08-29"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" * Task list of user\u0027s task","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"public class TaskList {","lastModifiedDate":"2023-08-29"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" private ArrayList\u003cTask\u003e list;","lastModifiedDate":"2023-08-29"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":" public TaskList() {","lastModifiedDate":"2023-08-29"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" list \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-29"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" * Adds task into list","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" * @param task user\u0027s task","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public void add(Task task) {","lastModifiedDate":"2023-08-29"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" list.add(task);","lastModifiedDate":"2023-08-29"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" * Delete task from list","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" * @param i index of item in list","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" public void delete(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" list.remove(i);","lastModifiedDate":"2023-08-29"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" * Mark task from list as done","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" * @param i index of item in list","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public void mark(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" list.get(i).mark();","lastModifiedDate":"2023-08-29"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" * Mark task from list as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" * @param i index of item in list","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":" public void unmark(int i) {","lastModifiedDate":"2023-08-29"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" list.get(i).unmark();","lastModifiedDate":"2023-08-29"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" * Returns the list","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" * @return list","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" public List\u003cTask\u003e list() {","lastModifiedDate":"2023-08-29"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" return list;","lastModifiedDate":"2023-08-29"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-29"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof TaskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" TaskList temp \u003d (TaskList) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" List\u003cTask\u003e check \u003d temp.list();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" if (list.size() !\u003d check.size()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c list.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" if (list.get(i).equals(check.get(i))) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" * Find tasks with matching keyword","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":" * @param keyword","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" * @return","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" public Task[] findTask(String keyword) {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" ArrayList\u003cTask\u003e result \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" for (int i \u003d 0; i \u003c list.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" String name \u003d list.get(i).taskName();","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" if (name.contains(keyword)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" result.add(list.get(i));","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":" return result.toArray(new Task[0]);","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-29"}],"authorContributionMap":{"TehOPanas":102}},{"path":"src/main/java/duke/task/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke.task;","lastModifiedDate":"2023-08-29"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-29"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":" * Task needed to be done","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":" * @author Lian Zhi Xuan","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":" public ToDo(String task) {","lastModifiedDate":"2023-08-21"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":" super(task);","lastModifiedDate":"2023-08-21"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-21"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-21"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":" public String status() {","lastModifiedDate":"2023-08-21"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" return isDone() ? \"[T][X]\" : \"[T][ ]\";","lastModifiedDate":"2023-08-21"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-08-28"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-08-28"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public String type() {","lastModifiedDate":"2023-08-28"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" return \"Task.ToDo\";","lastModifiedDate":"2023-08-29"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-08-28"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" if (o instanceof ToDo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" ToDo temp \u003d (ToDo) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" return super.equals(temp);","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-08-21"}],"authorContributionMap":{"TehOPanas":33}},{"path":"src/test/java/duke/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.command.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"import static org.junit.jupiter.api.Assertions.fail;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":" Parser parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":" @BeforeEach","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":" public void setUp() {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" Duke.initialize();","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" Command result \u003d parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie don\u0027t see any command\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" public void readInput_unknownCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"lololololol\";","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" Command result \u003d parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t recgonize this command: lololololol\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validTodo_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"todo run\";","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand result \u003d (CreateToDoCommand)parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand expected \u003d new CreateToDoCommand(\"run\");","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyTodo_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"todo \";","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"TehOPanas"},"content":" CreateToDoCommand result \u003d (CreateToDoCommand)parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says todo\u0027s description cannot be empty.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validDeadline_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline run /by 2020-12-26\";","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand expected \u003d new CreateDeadlineCommand(\"run\",","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2020-12-26\", DateTimeFormatter.ISO_DATE));","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected, result);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyDeadline_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline \";","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says deadline\u0027s description cannot be empty.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"TehOPanas"},"content":" public void readInput_invalidDateDeadline_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline run /by 1626\";","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"TehOPanas"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"TehOPanas"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongDateFormatDeadline_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"deadline run \";","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"TehOPanas"},"content":" CreateDeadlineCommand result \u003d (CreateDeadlineCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says deadline\u0027s description is wrong.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validEvent_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event run /from 2020-12-26 /to 2021-10-10\";","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand expected \u003d new CreateEventCommand(\"run\",","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2020-12-26\",DateTimeFormatter.ISO_DATE),","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2021-10-10\",DateTimeFormatter.ISO_DATE));","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"TehOPanas"},"content":" public void readInput_invalidDateEvent_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event run /from 156156 /by 51651\";","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"TehOPanas"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"TehOPanas"},"content":" return;","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyEvent_exceptionThrown(){","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event \";","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says event\u0027s description cannot be empty.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongDateFormatEvent_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"event run /by\";","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"TehOPanas"},"content":" CreateEventCommand result \u003d (CreateEventCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie says event\u0027s description is wrong.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validList_success(){","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"list\";","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"TehOPanas"},"content":" ListCommand result \u003d (ListCommand) parser.readInput(\"list\");","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"TehOPanas"},"content":" ListCommand expected \u003d new ListCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validMark_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"TehOPanas"},"content":" MarkCommand result \u003d (MarkCommand) parser.readInput(\"mark 1\");","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"TehOPanas"},"content":" MarkCommand expected \u003d new MarkCommand(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":195,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":196,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":197,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":198,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":199,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":200,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyMark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":201,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":202,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"mark \";","lastModifiedDate":"2023-09-02"},{"lineNumber":203,"author":{"gitId":"TehOPanas"},"content":" MarkCommand result \u003d (MarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":204,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":205,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":206,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t see the index of task list.\",e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":207,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":208,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":209,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":210,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":211,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongMark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":212,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":213,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"mark 1\";","lastModifiedDate":"2023-09-02"},{"lineNumber":214,"author":{"gitId":"TehOPanas"},"content":" MarkCommand result \u003d (MarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":215,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":216,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":217,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"The list doesn\u0027t have this index.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":218,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":219,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":220,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":221,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":222,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validUnmark_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":223,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":224,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":225,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand result \u003d (UnmarkCommand) parser.readInput(\"unmark 1\");","lastModifiedDate":"2023-09-02"},{"lineNumber":226,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand expected \u003d new UnmarkCommand(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":227,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":228,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":229,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":230,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":231,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":232,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":233,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":234,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":235,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyUnmark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":236,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":237,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"unmark \";","lastModifiedDate":"2023-09-02"},{"lineNumber":238,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand result \u003d (UnmarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":239,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":240,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":241,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t see the index of task list.\",e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":242,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":243,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":244,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":245,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":246,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongUnmark_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":247,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":248,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"unmark 1\";","lastModifiedDate":"2023-09-02"},{"lineNumber":249,"author":{"gitId":"TehOPanas"},"content":" UnmarkCommand result \u003d (UnmarkCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":250,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":251,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":252,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"The list doesn\u0027t have this index.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":253,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":254,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":255,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":256,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":257,"author":{"gitId":"TehOPanas"},"content":" public void readInput_validDelete_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":258,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":259,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":260,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand result \u003d (DeleteCommand) parser.readInput(\"delete 1\");","lastModifiedDate":"2023-09-02"},{"lineNumber":261,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand expected \u003d new DeleteCommand(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":262,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":263,"author":{"gitId":"TehOPanas"},"content":" assertEquals(expected,result);","lastModifiedDate":"2023-09-02"},{"lineNumber":264,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":265,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":266,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":267,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":268,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":269,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":270,"author":{"gitId":"TehOPanas"},"content":" public void readInput_emptyDelete_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":271,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":272,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"delete \";","lastModifiedDate":"2023-09-02"},{"lineNumber":273,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand result \u003d (DeleteCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":274,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":275,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":276,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"Chewie doesn\u0027t see the index of task list.\",e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":277,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":278,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":279,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":280,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":281,"author":{"gitId":"TehOPanas"},"content":" public void readInput_wrongDelete_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":282,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":283,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"delete 1\";","lastModifiedDate":"2023-09-02"},{"lineNumber":284,"author":{"gitId":"TehOPanas"},"content":" DeleteCommand result \u003d (DeleteCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":285,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":286,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":287,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"The list doesn\u0027t have this index.\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":288,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":289,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":290,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":291,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":292,"author":{"gitId":"TehOPanas"},"content":" public void readInput_findKeyword_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":293,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":294,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"find run\";","lastModifiedDate":"2023-09-02"},{"lineNumber":295,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":296,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":297,"author":{"gitId":"TehOPanas"},"content":" FindCommand result \u003d (FindCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":298,"author":{"gitId":"TehOPanas"},"content":" FindCommand expected \u003d new FindCommand(\"run\");","lastModifiedDate":"2023-09-02"},{"lineNumber":299,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":300,"author":{"gitId":"TehOPanas"},"content":" assertEquals(result,expected);","lastModifiedDate":"2023-09-02"},{"lineNumber":301,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException ignored) {","lastModifiedDate":"2023-09-02"},{"lineNumber":302,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":303,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":304,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":305,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":306,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":307,"author":{"gitId":"TehOPanas"},"content":" public void readInput_findEmpty_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":308,"author":{"gitId":"TehOPanas"},"content":" Duke.list().add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":309,"author":{"gitId":"TehOPanas"},"content":" String command \u003d \"find \";","lastModifiedDate":"2023-09-02"},{"lineNumber":310,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":311,"author":{"gitId":"TehOPanas"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":312,"author":{"gitId":"TehOPanas"},"content":" FindCommand result \u003d (FindCommand) parser.readInput(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":313,"author":{"gitId":"TehOPanas"},"content":" fail();","lastModifiedDate":"2023-09-02"},{"lineNumber":314,"author":{"gitId":"TehOPanas"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":315,"author":{"gitId":"TehOPanas"},"content":" assertEquals(\"There is no keyword\", e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":316,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":317,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":318,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"TehOPanas":318}},{"path":"src/test/java/duke/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"import duke.task.Events;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"import duke.task.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"import duke.task.ToDo;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"TehOPanas"},"content":"import static org.junit.jupiter.api.Assertions.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"TehOPanas"},"content":"public class StorageTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"TehOPanas"},"content":" Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"TehOPanas"},"content":" String filePath \u003d \"ChewieTest.json\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"TehOPanas"},"content":" @BeforeEach","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"TehOPanas"},"content":" public void setUp() {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"TehOPanas"},"content":" storage \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"TehOPanas"},"content":" public void load_noSuchFile_newSave() {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"TehOPanas"},"content":" TaskList list \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"TehOPanas"},"content":" storage.load(list, \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"TehOPanas"},"content":" assertTrue(storage.isNewSave());","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"TehOPanas"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"TehOPanas"},"content":" public void load_validFile_success() {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"TehOPanas"},"content":" TaskList result \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"TehOPanas"},"content":" storage.load(result,\"ChewieTest.json\");","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"TehOPanas"},"content":" TaskList expected \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"TehOPanas"},"content":" expected.add(new ToDo(\"run\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"TehOPanas"},"content":" expected.add(new Deadline(\"jump\", LocalDate.parse(\"2020-10-10\", DateTimeFormatter.ISO_DATE)));","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"TehOPanas"},"content":" expected.add(new Events(\"kill\", LocalDate.parse(\"2020-10-10\",DateTimeFormatter.ISO_DATE),","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"TehOPanas"},"content":" LocalDate.parse(\"2020-12-26\",DateTimeFormatter.ISO_DATE)));","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"TehOPanas"},"content":" expected.mark(1);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"TehOPanas"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"TehOPanas"},"content":" assertEquals(result,expected);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"TehOPanas"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"TehOPanas"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"TehOPanas":47}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"TehOPanas"},"content":"todo run","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"TehOPanas"},"content":"deadline CS2103t iP /by 25 August","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"TehOPanas"},"content":"event meeting with Han /from 8pm /to 2am","lastModifiedDate":"2023-08-22"},{"lineNumber":4,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"TehOPanas"},"content":"mark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"TehOPanas"},"content":"mark 3","lastModifiedDate":"2023-08-22"},{"lineNumber":7,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":8,"author":{"gitId":"TehOPanas"},"content":"unmark 1","lastModifiedDate":"2023-08-22"},{"lineNumber":9,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":10,"author":{"gitId":"TehOPanas"},"content":"todo fight","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"TehOPanas"},"content":"list","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"TehOPanas"},"content":"bye","lastModifiedDate":"2023-08-22"}],"authorContributionMap":{"TehOPanas":12}},{"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":"TehOPanas"},"content":"java -Dfile.encoding\u003dUTF-8 -classpath ..\\bin Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":"REM compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":"FC ACTUAL.TXT EXPECTED.TXT","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"TehOPanas":1,"-":20}}] diff --git a/TehOPanas_ip_master/commits.json b/TehOPanas_ip_master/commits.json index 49ec5093..a1be2685 100644 --- a/TehOPanas_ip_master/commits.json +++ b/TehOPanas_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"TehOPanas":[{"date":"2023-08-21","commitResults":[{"hash":"f018e480950f8314c0ce5e01827651c282086ea0","isMergeCommit":false,"messageTitle":"Implemented starting and ending messages.","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":0}}},{"hash":"7bd149d7b5923c4a22248662e303b229a2699ae7","isMergeCommit":false,"messageTitle":"Implemented input and echo.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":1}}},{"hash":"76c8b5f24ebb1fb84688edc04d473057e24f161b","isMergeCommit":false,"messageTitle":"Implemented Task Class, createTask and readList feature.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":1}}},{"hash":"a3b5cd739fd5d806891e12c06dd07ae8ba9ee33f","isMergeCommit":false,"messageTitle":"implemented mark as done feature","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":2}}},{"hash":"0f96333f8bcd5595de59969d6719be64f7f12008","isMergeCommit":false,"messageTitle":"Implemented subclass of task : event, todo, deadline and integrate it into task list","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":120,"deletions":16}}}]},{"date":"2023-08-22","commitResults":[{"hash":"76c172f5b6b426691d7de44fe0e0f408e85dabc9","isMergeCommit":false,"messageTitle":"Implemented testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"java":{"insertions":10,"deletions":7},"bat":{"insertions":1,"deletions":1}}},{"hash":"d5af2c77a214ac7f62c2da9923091039b3aa7258","isMergeCommit":false,"messageTitle":"Implemented exception handling.","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":96,"deletions":48}}},{"hash":"87f2680e74a4131489f06d71bb686baea22b8a56","isMergeCommit":false,"messageTitle":"implemented delete feature","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"2f86131361ce47df35dbb039fabae6014699a895","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"02fdb1016ff34f50a086c5a2577e16ce442e85b6","isMergeCommit":false,"messageTitle":"Add saving feature to Duke, with the use of GSON and import gradle.","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":14,"deletions":1},"java":{"insertions":225,"deletions":106}}},{"hash":"d06fea77f809520d5b823235d6861e7cc90e9ebf","isMergeCommit":true,"messageTitle":"Merge branch \u0027Level-7\u0027","messageBody":"","tags":["Level-7","A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"72a53e041d64b545b5bdf1632a2f7c6dd7f94ae1","isMergeCommit":false,"messageTitle":"Add LocalDate feature","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"java":{"insertions":42,"deletions":14}}},{"hash":"b9f601e3ed188e34dd54b2c049bf368f626f4302","isMergeCommit":true,"messageTitle":"Merge branch \u0027Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-29","commitResults":[{"hash":"90e1b79b86a6142309ea2cb7dc8cdc02defe3040","isMergeCommit":false,"messageTitle":"Implement OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"gradle":{"insertions":0,"deletions":1},"java":{"insertions":456,"deletions":278}}},{"hash":"282b2cc27377cc9ca5181c7a275181ef8e55bfce","isMergeCommit":false,"messageTitle":"Split the files into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":99,"deletions":29},"md":{"insertions":2,"deletions":2}}}]},{"date":"2023-09-02","commitResults":[{"hash":"d4fcdf70ae56de117d167a4330d5a4afff6b441a","isMergeCommit":false,"messageTitle":"Implements unit testing","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":635,"deletions":22}}},{"hash":"04328f22f8a4146fae8fe86521cc7ec82cc7bd08","isMergeCommit":false,"messageTitle":"Write JavaDoc and improve code style","messageBody":"","tags":["A-JavaDoc","A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":323,"deletions":27}}}]}]},"authorFileTypeContributionMap":{"TehOPanas":{"java":1620,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":14,"txt":12}},"authorContributionVariance":{"TehOPanas":98349.0},"authorDisplayNameMap":{"TehOPanas":"CS2103T-W16-2 LIAN..XUAN"}} +{"authorDailyContributionsMap":{"TehOPanas":[{"date":"2023-08-21","commitResults":[{"hash":"f018e480950f8314c0ce5e01827651c282086ea0","isMergeCommit":false,"messageTitle":"Implemented starting and ending messages.","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":0}}},{"hash":"7bd149d7b5923c4a22248662e303b229a2699ae7","isMergeCommit":false,"messageTitle":"Implemented input and echo.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":1}}},{"hash":"76c8b5f24ebb1fb84688edc04d473057e24f161b","isMergeCommit":false,"messageTitle":"Implemented Task Class, createTask and readList feature.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":1}}},{"hash":"a3b5cd739fd5d806891e12c06dd07ae8ba9ee33f","isMergeCommit":false,"messageTitle":"implemented mark as done feature","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":2}}},{"hash":"0f96333f8bcd5595de59969d6719be64f7f12008","isMergeCommit":false,"messageTitle":"Implemented subclass of task : event, todo, deadline and integrate it into task list","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":120,"deletions":16}}}]},{"date":"2023-08-22","commitResults":[{"hash":"76c172f5b6b426691d7de44fe0e0f408e85dabc9","isMergeCommit":false,"messageTitle":"Implemented testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"java":{"insertions":10,"deletions":7},"bat":{"insertions":1,"deletions":1}}},{"hash":"d5af2c77a214ac7f62c2da9923091039b3aa7258","isMergeCommit":false,"messageTitle":"Implemented exception handling.","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":96,"deletions":48}}},{"hash":"87f2680e74a4131489f06d71bb686baea22b8a56","isMergeCommit":false,"messageTitle":"implemented delete feature","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"2f86131361ce47df35dbb039fabae6014699a895","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"02fdb1016ff34f50a086c5a2577e16ce442e85b6","isMergeCommit":false,"messageTitle":"Add saving feature to Duke, with the use of GSON and import gradle.","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":14,"deletions":1},"java":{"insertions":225,"deletions":106}}},{"hash":"d06fea77f809520d5b823235d6861e7cc90e9ebf","isMergeCommit":true,"messageTitle":"Merge branch \u0027Level-7\u0027","messageBody":"","tags":["Level-7","A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"72a53e041d64b545b5bdf1632a2f7c6dd7f94ae1","isMergeCommit":false,"messageTitle":"Add LocalDate feature","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"java":{"insertions":42,"deletions":14}}},{"hash":"b9f601e3ed188e34dd54b2c049bf368f626f4302","isMergeCommit":true,"messageTitle":"Merge branch \u0027Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-29","commitResults":[{"hash":"90e1b79b86a6142309ea2cb7dc8cdc02defe3040","isMergeCommit":false,"messageTitle":"Implement OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"gradle":{"insertions":0,"deletions":1},"java":{"insertions":456,"deletions":278}}},{"hash":"282b2cc27377cc9ca5181c7a275181ef8e55bfce","isMergeCommit":false,"messageTitle":"Split the files into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":99,"deletions":29},"md":{"insertions":2,"deletions":2}}}]},{"date":"2023-09-02","commitResults":[{"hash":"d4fcdf70ae56de117d167a4330d5a4afff6b441a","isMergeCommit":false,"messageTitle":"Implements unit testing","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":635,"deletions":22}}},{"hash":"04328f22f8a4146fae8fe86521cc7ec82cc7bd08","isMergeCommit":false,"messageTitle":"Write JavaDoc and improve code style","messageBody":"","tags":["A-JavaDoc","A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":323,"deletions":27}}},{"hash":"540a65741da8618050e93ac6fed56b4085b4b9a7","isMergeCommit":false,"messageTitle":"Implements find","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":105,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"TehOPanas":{"java":1724,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":14,"txt":12}},"authorContributionVariance":{"TehOPanas":110071.11},"authorDisplayNameMap":{"TehOPanas":"CS2103T-W16-2 LIAN..XUAN"}} diff --git a/archive.zip b/archive.zip index 1250d902..2aafb05c 100644 Binary files a/archive.zip and b/archive.zip differ diff --git a/dickongwd_ip_master/authorship.json b/dickongwd_ip_master/authorship.json index 006317ad..e2b90846 100644 --- a/dickongwd_ip_master/authorship.json +++ b/dickongwd_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" * Represents a task with a deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" String by;","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public Deadline(String desc, String by) {","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" super(desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" return String.format(\"D|%s /by %s\", super.encode(), by);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[D]%s (by: %s)\", super.toString(), by);","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":23}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.storage.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-18"},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" TextUi ui \u003d new TextUi();","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" Storage storage \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" ui.showWelcomeMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" tasks \u003d storage.load();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(String.format(\"No stored tasks found from %s\", Storage.DEFAULT_STORAGE_PATH),","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" \"Starting from an empty task list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" } else {","lastModifiedDate":"2023-08-21"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(String.format(\"Tasks loaded from %s\", Storage.DEFAULT_STORAGE_PATH));","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(String.format(\"Error loading tasks from %s\", Storage.DEFAULT_STORAGE_PATH),","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" \"Starting from an empty task list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" Command command;","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" do {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" String input \u003d ui.getUserCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" command \u003d parser.parseCommand(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" command.setData(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d command.execute();","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(response);","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" storage.save(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(\"Error saving tasks\");","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" } while (!command.isBye());","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":47,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"dickongwd":43,"-":4}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" String from;","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" String to;","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public Event(String desc, String from, String to) {","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" super(desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" return String.format(\"E|%s /from %s /to %s\", super.encode(), from, to);","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[E]%s (from: %s to: %s)\", super.toString(), from, to);","lastModifiedDate":"2023-08-19"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":22}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.parser.DukeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.parser.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"public class Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final String desc;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" private boolean marked;","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" public Task(String desc) {","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" this.desc \u003d desc;","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" marked \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" public static Task decode(String encodedTask) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" Pattern pattern \u003d Pattern.compile(\"^(?\u003ctype\u003e.)\\\\|(?\u003cmark\u003e.)\\\\|(?\u003ctaskString\u003e.+)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d pattern.matcher(encodedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" String type \u003d matcher.group(\"type\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" String mark \u003d matcher.group(\"mark\");","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" String input \u003d matcher.group(\"taskString\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" Task task;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" switch (type) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" case \"T\":","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" task \u003d Parser.parseTodo(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" case \"D\":","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" task \u003d Parser.parseDeadline(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" return null;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" case \"E\":","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" task \u003d Parser.parseEvent(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" return null;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" return null;","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" if (mark.equals(\"1\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public void mark() {","lastModifiedDate":"2023-08-19"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" marked \u003d true;","lastModifiedDate":"2023-08-19"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" public void unmark() {","lastModifiedDate":"2023-08-19"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" marked \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" return String.format(\"%s|%s\", marked ? \"1\" : \"0\", desc);","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[%s] %s\", marked ? \"X\" : \" \", desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":68}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import java.util.Objects;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" private final List\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public TaskList(Iterable\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" tasks.forEach(this.tasks::add);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" * Decodes a list of task from a given encoded task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" * @param encodedTaskList the encoded task list as a string","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" * @return the decoded task list","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" public static TaskList decode(List\u003cString\u003e encodedTaskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" encodedTaskList.forEach(encodedTask -\u003e {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" Task task \u003d Task.decode(encodedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" if (!Objects.isNull(task)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" tasks.add(Task.decode(encodedTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" });","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" return new TaskList(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" * Returns the task with the given task number.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" * We subtract 1 because task numbers start from 1.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" * @param taskNum the task number to get","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" * @return the task with the corresponding task number","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" public Task get(int taskNum) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" return tasks.get(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":" * Adds the given task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" * @param task the task to be added","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public void add(Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" tasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" * Returns the size of the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":" * @return the size of the task list","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" public int size() {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":" return tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" * Deletes the task with the given task number.","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":" * @param taskNum the task number to delete","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"dickongwd"},"content":" public void delete(int taskNum) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"dickongwd"},"content":" tasks.remove(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"dickongwd"},"content":" * Encodes the task list as a list of strings to be stored in a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"dickongwd"},"content":" * @return the encoded task list as a list of strings","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"dickongwd"},"content":" public List\u003cString\u003e encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"dickongwd"},"content":" List\u003cString\u003e encodedTaskList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"dickongwd"},"content":" tasks.forEach(task -\u003e encodedTaskList.add(task.encode()));","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"dickongwd"},"content":" return encodedTaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":84}},{"path":"src/main/java/duke/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public Todo(String desc) {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" super(desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" return String.format(\"T|%s\", super.encode());","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[T]%s\", super.toString());","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":17}},{"path":"src/main/java/duke/command/ByeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class ByeCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"bye\";","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public ByeCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Bye! Hope to see you again soon!\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":13}},{"path":"src/main/java/duke/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"public abstract class Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" protected TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public void setData(TaskList tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public boolean isBye() {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" return this instanceof ByeCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public abstract String[] execute();","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":17}},{"path":"src/main/java/duke/command/DeadlineCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class DeadlineCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"deadline\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"deadline \u003cdescription\u003e /by \u003cdate\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" private final Deadline taskToAdd;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" public DeadlineCommand(Deadline task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" taskToAdd \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" this.tasks.add(taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Got it. I\u0027ve added this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":26}},{"path":"src/main/java/duke/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"delete\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"delete \u003ctask number\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_TASK_NUMBER \u003d \"delete can only take an integer task number\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final int taskNumToDelete;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public DeleteCommand(int taskNum) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskNumToDelete \u003d taskNum;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" Task task \u003d this.tasks.get(taskNumToDelete);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" this.tasks.delete(taskNumToDelete);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Noted. I\u0027ve removed this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, task);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Task number does not exist\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":33}},{"path":"src/main/java/duke/command/EventCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class EventCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"event\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"event \u003cdescription\u003e /from \u003cdate\u003e /to \u003cdate\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" private final Event taskToAdd;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" public EventCommand(Event task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" taskToAdd \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" this.tasks.add(taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Got it. I\u0027ve added this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":26}},{"path":"src/main/java/duke/command/InvalidCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class InvalidCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public final String[] message;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public InvalidCommand(String... message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" this.message \u003d message;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" return message;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":13}},{"path":"src/main/java/duke/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"list\";","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public ListCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" String[] response;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" int numTasks \u003d this.tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" if (numTasks \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" response \u003d new String[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"There are no items in your list.\";","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" response \u003d new String[numTasks + 1];","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Here are the tasks in your list:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" for (int i \u003d 1; i \u003c\u003d numTasks; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" response[i] \u003d (i + \". \" + this.tasks.get(i));","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":24}},{"path":"src/main/java/duke/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"mark\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"mark \u003ctask number\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_TASK_NUMBER \u003d \"mark can only take an integer task number\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final int taskNumToMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public MarkCommand(int taskNum) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskNumToMark \u003d taskNum;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[2];","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" Task task \u003d this.tasks.get(taskNumToMark);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Nice! I\u0027ve marked this task as done:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, task);","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Task number does not exist\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":29}},{"path":"src/main/java/duke/command/TodoCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class TodoCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"todo\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"todo \u003cdescription\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_EMPTY_DESCRIPTION \u003d \"Sorry, but the description of a todo cannot be empty.\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final Todo taskToAdd;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public TodoCommand(Todo task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskToAdd \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" this.tasks.add(taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Got it. I\u0027ve added this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":27}},{"path":"src/main/java/duke/command/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class UnmarkCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"unmark\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"unmark \u003ctask number\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_TASK_NUMBER \u003d \"unmark can only take an integer task number\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final int taskNumToMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public UnmarkCommand(int taskNum) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskNumToMark \u003d taskNum;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[2];","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" Task task \u003d this.tasks.get(taskNumToMark);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" task.unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Ok, I\u0027ve marked this task as not done yet:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, task);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Task number does not exist\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":30}},{"path":"src/main/java/duke/common/Messages.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.common;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class Messages {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_WELCOME \u003d \"Hello! I\u0027m Buzu.\";","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_FIRST_PROMPT \u003d \"What can I do for you?\";","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_GOODBYE \u003d \"Bye! Hope to see you again soon!\";","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_COMMAND \u003d \"Sorry, but I don\u0027t know what that means :(\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":8}},{"path":"src/main/java/duke/parser/DukeParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class DukeParseException extends Exception {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public DukeParseException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":7}},{"path":"src/main/java/duke/parser/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import duke.command.ByeCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import duke.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import duke.command.DeadlineCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"import duke.command.DeleteCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"import duke.command.EventCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"import duke.command.InvalidCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"import duke.command.ListCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"import duke.command.MarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"import duke.command.TodoCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"import duke.command.UnmarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_INVALID_COMMAND;","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" private static final Pattern COMMAND_FORMAT \u003d Pattern.compile(\"^(?\u003ccommand\u003e\\\\S+)(?\u003carguments\u003e.*)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" public static Todo parseTodo(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" return new Todo(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" public static Deadline parseDeadline(String args) throws DukeParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" Pattern pattern \u003d Pattern.compile(\"^(?\u003cdesc\u003e.+) /by (?\u003cby\u003e.+)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d pattern.matcher(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" throw new DukeParseException(\"Deadline cannot be parsed\");","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" String desc \u003d matcher.group(\"desc\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" String by \u003d matcher.group(\"by\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" return new Deadline(desc, by);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" public static Event parseEvent(String args) throws DukeParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" Pattern pattern \u003d Pattern.compile(\"^(?\u003cdesc\u003e.+) /from (?\u003cfrom\u003e.+) /to (?\u003cto\u003e.+)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d pattern.matcher(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" throw new DukeParseException(\"Event cannot be parsed\");","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" String desc \u003d matcher.group(\"desc\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" String from \u003d matcher.group(\"from\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":" String to \u003d matcher.group(\"to\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" return new Event(desc, from, to);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public Command parseCommand(String input) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d COMMAND_FORMAT.matcher(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND);","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" String command \u003d matcher.group(\"command\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" String args \u003d matcher.group(\"arguments\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" switch (command) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" case TodoCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":" return parseTodoCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":" case DeadlineCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":" return parseDeadlineCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" case EventCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" return parseEventCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" case MarkCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":" return parseMarkCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"dickongwd"},"content":" case UnmarkCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"dickongwd"},"content":" return parseUnmarkCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"dickongwd"},"content":" case ListCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"dickongwd"},"content":" return parseListCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"dickongwd"},"content":" case DeleteCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"dickongwd"},"content":" return parseDeleteCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"dickongwd"},"content":" case ByeCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"dickongwd"},"content":" return parseByeCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"dickongwd"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"dickongwd"},"content":" private Command parseTodoCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"dickongwd"},"content":" if (args.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(TodoCommand.MESSAGE_EMPTY_DESCRIPTION, TodoCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"dickongwd"},"content":" return new TodoCommand(parseTodo(args));","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"dickongwd"},"content":" private Command parseDeadlineCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"dickongwd"},"content":" Deadline deadline \u003d parseDeadline(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"dickongwd"},"content":" return new DeadlineCommand(deadline);","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND, e.getMessage(), DeadlineCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"dickongwd"},"content":" private Command parseEventCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"dickongwd"},"content":" Event event \u003d parseEvent(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"dickongwd"},"content":" return new EventCommand(event);","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND, EventCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"dickongwd"},"content":" private Command parseMarkCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"dickongwd"},"content":" int taskNum \u003d Integer.parseInt(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"dickongwd"},"content":" return new MarkCommand(taskNum);","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"dickongwd"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MarkCommand.MESSAGE_INVALID_TASK_NUMBER, MarkCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"dickongwd"},"content":" private Command parseUnmarkCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"dickongwd"},"content":" int taskNum \u003d Integer.parseInt(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"dickongwd"},"content":" return new UnmarkCommand(taskNum);","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"dickongwd"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(UnmarkCommand.MESSAGE_INVALID_TASK_NUMBER, UnmarkCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"dickongwd"},"content":" private Command parseListCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"dickongwd"},"content":" return new ListCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"dickongwd"},"content":" private Command parseDeleteCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"dickongwd"},"content":" int taskNum \u003d Integer.parseInt(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"dickongwd"},"content":" return new DeleteCommand(taskNum);","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"dickongwd"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(DeleteCommand.MESSAGE_INVALID_TASK_NUMBER, DeleteCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"dickongwd"},"content":" private Command parseByeCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"dickongwd"},"content":" return new ByeCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":141}},{"path":"src/main/java/duke/storage/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public static final String DEFAULT_STORAGE_PATH \u003d \".duke-storage.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" private final Path path;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public Storage() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" this(DEFAULT_STORAGE_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" public Storage(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" this.path \u003d Paths.get(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" * Saves Duke\u0027s task list in a text file.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" * @param taskList the list of tasks to save","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" * @throws IOException if an I/O error occurs when writing to the file","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" public void save(TaskList taskList) throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" List\u003cString\u003e encodedTaskList \u003d taskList.encode();","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" Files.write(path, encodedTaskList);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" * Loads the task list from Duke\u0027s data text file.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" * @return the loaded task list from the data text file","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" public TaskList load() throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" if (!Files.exists(path) || !Files.isRegularFile(path)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" return new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" return TaskList.decode(Files.readAllLines(path));","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":45}},{"path":"src/main/java/duke/ui/TextUi.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.ui;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import java.io.InputStream;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import java.io.PrintStream;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_FIRST_PROMPT;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_GOODBYE;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_INVALID_COMMAND;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_WELCOME;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"public class TextUi {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" public static final String DIVIDER \u003d \"__________________________________________________\";","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public static final String INDENT \u003d \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public static final String NAME \u003d \"Buzu\";","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" private final Scanner in;","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" private final PrintStream out;","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" public TextUi() {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" this(System.in, System.out);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" public TextUi(InputStream in, PrintStream out) {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" this.in \u003d new Scanner(in);","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" this.out \u003d out;","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" * Sends a formatted response to the user via standard input.","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" * @param text The text to respond with, line by line","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" public void showMessage(String... text) {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" out.printf(\"%s%s%n\", INDENT, DIVIDER);","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" for (String line : text) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" out.printf(\"%s%s%n\", INDENT, line);","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" out.printf(\"%s%s%n\", INDENT, DIVIDER);","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" out.println();","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" * Shows a welcome message to the user, typically during the start of program.","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" public void showWelcomeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" showMessage(MESSAGE_WELCOME, MESSAGE_FIRST_PROMPT);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" * Shows a goodbye message to the user, typically during termination of the program.","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public void showGoodbyeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" showMessage(MESSAGE_GOODBYE);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" * Shows an invalid command message to the user.","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":" public void showInvalidCommandMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" showMessage(MESSAGE_INVALID_COMMAND);","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":" * Returns the input string from the user command.","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" * Ignores empty or lines with only whitespace.","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" * @return the input string for the user command","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"dickongwd"},"content":" public String getUserCommand() {","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"dickongwd"},"content":" String input;","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"dickongwd"},"content":" do {","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"dickongwd"},"content":" input \u003d in.nextLine();","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"dickongwd"},"content":" } while (input.trim().isEmpty());","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"dickongwd"},"content":" return input.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"dickongwd":76}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"todo borrow book","lastModifiedDate":"2023-08-19"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-19"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"mark 1","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"list","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"what","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"unmark me","lastModifiedDate":"2023-08-21"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"deadline buy food /at 7pm","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"delete 1","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"list","lastModifiedDate":"2023-08-21"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"bye","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":11}},{"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":"dickongwd"},"content":"# delete storage data from previous run","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":"if [ -e \"./.duke-storage.txt\" ]","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"then","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" rm .duke-storage.txt","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":"fi","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/duke/*.java","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" echo \"********** BUILD FAILURE **********\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"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":29,"author":{"gitId":"dickongwd"},"content":"java -classpath ../bin duke/Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":36,"dickongwd":8}}] +[{"path":"src/main/java/duke/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" * Represents a task with a deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" String by;","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public Deadline(String desc, String by) {","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" super(desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" return String.format(\"D|%s /by %s\", super.encode(), by);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[D]%s (by: %s)\", super.toString(), by);","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":23}},{"path":"src/main/java/duke/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.parser.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import duke.storage.Storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-18"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":11,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" TextUi ui \u003d new TextUi();","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" Storage storage \u003d new Storage();","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" Parser parser \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" ui.showWelcomeMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" tasks \u003d storage.load();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(String.format(\"No stored tasks found from %s\", Storage.DEFAULT_STORAGE_PATH),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" \"Starting from an empty task list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" } else {","lastModifiedDate":"2023-08-21"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(String.format(\"Tasks loaded from %s\", Storage.DEFAULT_STORAGE_PATH));","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(String.format(\"Error loading tasks from %s\", Storage.DEFAULT_STORAGE_PATH),","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" \"Starting from an empty task list.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-21"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" Command command;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" do {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" String input \u003d ui.getUserCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" command \u003d parser.parseCommand(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" command.setData(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d command.execute();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(response);","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" storage.save(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" ui.showMessage(\"Error saving tasks\");","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" } while (!command.isBye());","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":49,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"dickongwd":45,"-":4}},{"path":"src/main/java/duke/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" String from;","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" String to;","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public Event(String desc, String from, String to) {","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" super(desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-19"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" return String.format(\"E|%s /from %s /to %s\", super.encode(), from, to);","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[E]%s (from: %s to: %s)\", super.toString(), from, to);","lastModifiedDate":"2023-08-19"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":22}},{"path":"src/main/java/duke/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.parser.DukeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.parser.Parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"public class Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final String desc;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" private boolean marked;","lastModifiedDate":"2023-08-19"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" public Task(String desc) {","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" this.desc \u003d desc;","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" marked \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" public static Task decode(String encodedTask) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" Pattern pattern \u003d Pattern.compile(\"^(?\u003ctype\u003e.)\\\\|(?\u003cmark\u003e.)\\\\|(?\u003ctaskString\u003e.+)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d pattern.matcher(encodedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" String type \u003d matcher.group(\"type\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" String mark \u003d matcher.group(\"mark\");","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" String input \u003d matcher.group(\"taskString\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" Task task;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" switch (type) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" case \"T\":","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" task \u003d Parser.parseTodo(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" case \"D\":","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" task \u003d Parser.parseDeadline(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" return null;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" case \"E\":","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" task \u003d Parser.parseEvent(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" return null;","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" return null;","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" if (mark.equals(\"1\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public void mark() {","lastModifiedDate":"2023-08-19"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" marked \u003d true;","lastModifiedDate":"2023-08-19"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" public void unmark() {","lastModifiedDate":"2023-08-19"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" marked \u003d false;","lastModifiedDate":"2023-08-19"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" return String.format(\"%s|%s\", marked ? \"1\" : \"0\", desc);","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[%s] %s\", marked ? \"X\" : \" \", desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":68}},{"path":"src/main/java/duke/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import java.util.Objects;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" private final List\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public TaskList(Iterable\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" tasks.forEach(this.tasks::add);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" * Decodes a list of task from a given encoded task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" * @param encodedTaskList the encoded task list as a string","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" * @return the decoded task list","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" public static TaskList decode(List\u003cString\u003e encodedTaskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" List\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" encodedTaskList.forEach(encodedTask -\u003e {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" Task task \u003d Task.decode(encodedTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" if (!Objects.isNull(task)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" tasks.add(Task.decode(encodedTask));","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" });","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" return new TaskList(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" * Returns the task with the given task number.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" * We subtract 1 because task numbers start from 1.","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" * @param taskNum the task number to get","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" * @return the task with the corresponding task number","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" public Task get(int taskNum) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" return tasks.get(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":" * Adds the given task to the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" * @param task the task to be added","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public void add(Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" tasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" * Returns the size of the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":" * @return the size of the task list","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" public int size() {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":" return tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" * Deletes the task with the given task number.","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":" * @param taskNum the task number to delete","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"dickongwd"},"content":" public void delete(int taskNum) throws IndexOutOfBoundsException {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"dickongwd"},"content":" tasks.remove(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"dickongwd"},"content":" * Encodes the task list as a list of strings to be stored in a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"dickongwd"},"content":" * @return the encoded task list as a list of strings","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"dickongwd"},"content":" public List\u003cString\u003e encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"dickongwd"},"content":" List\u003cString\u003e encodedTaskList \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"dickongwd"},"content":" tasks.forEach(task -\u003e encodedTaskList.add(task.encode()));","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"dickongwd"},"content":" return encodedTaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":84}},{"path":"src/main/java/duke/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public Todo(String desc) {","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" super(desc);","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-08-19"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public String encode() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" return String.format(\"T|%s\", super.encode());","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-08-19"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public String toString() {","lastModifiedDate":"2023-08-19"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" return String.format(\"[T]%s\", super.toString());","lastModifiedDate":"2023-08-19"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-08-19"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":17}},{"path":"src/main/java/duke/command/ByeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class ByeCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"bye\";","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public ByeCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Bye! Hope to see you again soon!\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":13}},{"path":"src/main/java/duke/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"public abstract class Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" protected TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public void setData(TaskList tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public boolean isBye() {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" return this instanceof ByeCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public abstract String[] execute();","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":17}},{"path":"src/main/java/duke/command/DeadlineCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class DeadlineCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"deadline\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"deadline \u003cdescription\u003e /by \u003cdate\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" private final Deadline taskToAdd;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" public DeadlineCommand(Deadline task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" taskToAdd \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" this.tasks.add(taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Got it. I\u0027ve added this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":26}},{"path":"src/main/java/duke/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"delete\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"delete \u003ctask number\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_TASK_NUMBER \u003d \"delete can only take an integer task number\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final int taskNumToDelete;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public DeleteCommand(int taskNum) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskNumToDelete \u003d taskNum;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" Task task \u003d this.tasks.get(taskNumToDelete);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" this.tasks.delete(taskNumToDelete);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Noted. I\u0027ve removed this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, task);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Task number does not exist\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":33}},{"path":"src/main/java/duke/command/EventCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class EventCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"event\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"event \u003cdescription\u003e /from \u003cdate\u003e /to \u003cdate\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" private final Event taskToAdd;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" public EventCommand(Event task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" taskToAdd \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" this.tasks.add(taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Got it. I\u0027ve added this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":26}},{"path":"src/main/java/duke/command/InvalidCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class InvalidCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public final String[] message;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public InvalidCommand(String... message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" this.message \u003d message;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" return message;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":13}},{"path":"src/main/java/duke/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"list\";","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public ListCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" String[] response;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":" int numTasks \u003d this.tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" if (numTasks \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" response \u003d new String[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"There are no items in your list.\";","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" response \u003d new String[numTasks + 1];","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Here are the tasks in your list:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" for (int i \u003d 1; i \u003c\u003d numTasks; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" response[i] \u003d (i + \". \" + this.tasks.get(i));","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":24}},{"path":"src/main/java/duke/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"mark\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"mark \u003ctask number\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_TASK_NUMBER \u003d \"mark can only take an integer task number\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final int taskNumToMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public MarkCommand(int taskNum) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskNumToMark \u003d taskNum;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[2];","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" Task task \u003d this.tasks.get(taskNumToMark);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Nice! I\u0027ve marked this task as done:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, task);","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Task number does not exist\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":29}},{"path":"src/main/java/duke/command/TodoCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class TodoCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"todo\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"todo \u003cdescription\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_EMPTY_DESCRIPTION \u003d \"Sorry, but the description of a todo cannot be empty.\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final Todo taskToAdd;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public TodoCommand(Todo task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskToAdd \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[3];","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" this.tasks.add(taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Got it. I\u0027ve added this task:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, taskToAdd);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":" response[2] \u003d String.format(\"Now you have %d task%s in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" this.tasks.size(),","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" this.tasks.size() \u003d\u003d 1 ? \"\" : \"s\");","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":27}},{"path":"src/main/java/duke/command/UnmarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.ui.TextUi;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"public class UnmarkCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String COMMAND_WORD \u003d \"unmark\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_USAGE \u003d \"unmark \u003ctask number\u003e\";","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_TASK_NUMBER \u003d \"unmark can only take an integer task number\";","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":" private final int taskNumToMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public UnmarkCommand(int taskNum) {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" taskNumToMark \u003d taskNum;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" public String[] execute() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" String[] response \u003d new String[2];","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" Task task \u003d this.tasks.get(taskNumToMark);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" task.unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" response[0] \u003d \"Ok, I\u0027ve marked this task as not done yet:\";","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" response[1] \u003d String.format(\"%s%s\", TextUi.INDENT, task);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" return response;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" return new String[]{\"Task number does not exist\"};","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":30}},{"path":"src/main/java/duke/common/Messages.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.common;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class Messages {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_WELCOME \u003d \"Hello! I\u0027m Buzu.\";","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_FIRST_PROMPT \u003d \"What can I do for you?\";","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_GOODBYE \u003d \"Bye! Hope to see you again soon!\";","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":" public static final String MESSAGE_INVALID_COMMAND \u003d \"Sorry, but I don\u0027t know what that means :(\";","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":8}},{"path":"src/main/java/duke/parser/DukeParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"public class DukeParseException extends Exception {","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":" public DukeParseException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":7}},{"path":"src/main/java/duke/parser/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.parser;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import duke.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import duke.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import duke.command.ByeCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import duke.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import duke.command.DeadlineCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"import duke.command.DeleteCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"import duke.command.EventCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"import duke.command.InvalidCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"import duke.command.ListCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":"import duke.command.MarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"import duke.command.TodoCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":"import duke.command.UnmarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_INVALID_COMMAND;","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" private static final Pattern COMMAND_FORMAT \u003d Pattern.compile(\"^(?\u003ccommand\u003e\\\\S+)(?\u003carguments\u003e.*)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" public static Todo parseTodo(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" return new Todo(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" public static Deadline parseDeadline(String args) throws DukeParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" Pattern pattern \u003d Pattern.compile(\"^(?\u003cdesc\u003e.+) /by (?\u003cby\u003e.+)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d pattern.matcher(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" throw new DukeParseException(\"Deadline cannot be parsed\");","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" String desc \u003d matcher.group(\"desc\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" String by \u003d matcher.group(\"by\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" return new Deadline(desc, by);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" public static Event parseEvent(String args) throws DukeParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" Pattern pattern \u003d Pattern.compile(\"^(?\u003cdesc\u003e.+) /from (?\u003cfrom\u003e.+) /to (?\u003cto\u003e.+)$\");","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d pattern.matcher(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" throw new DukeParseException(\"Event cannot be parsed\");","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" String desc \u003d matcher.group(\"desc\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" String from \u003d matcher.group(\"from\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":" String to \u003d matcher.group(\"to\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" return new Event(desc, from, to);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public Command parseCommand(String input) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" Matcher matcher \u003d COMMAND_FORMAT.matcher(input);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND);","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" String command \u003d matcher.group(\"command\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" String args \u003d matcher.group(\"arguments\").trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" switch (command) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" case TodoCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":" return parseTodoCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":" case DeadlineCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":" return parseDeadlineCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" case EventCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" return parseEventCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" case MarkCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":" return parseMarkCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"dickongwd"},"content":" case UnmarkCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"dickongwd"},"content":" return parseUnmarkCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"dickongwd"},"content":" case ListCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"dickongwd"},"content":" return parseListCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"dickongwd"},"content":" case DeleteCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"dickongwd"},"content":" return parseDeleteCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"dickongwd"},"content":" case ByeCommand.COMMAND_WORD:","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"dickongwd"},"content":" return parseByeCommand(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"dickongwd"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"dickongwd"},"content":" private Command parseTodoCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"dickongwd"},"content":" if (args.isEmpty()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(TodoCommand.MESSAGE_EMPTY_DESCRIPTION, TodoCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"dickongwd"},"content":" return new TodoCommand(parseTodo(args));","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"dickongwd"},"content":" private Command parseDeadlineCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"dickongwd"},"content":" Deadline deadline \u003d parseDeadline(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"dickongwd"},"content":" return new DeadlineCommand(deadline);","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND, e.getMessage(), DeadlineCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"dickongwd"},"content":" private Command parseEventCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"dickongwd"},"content":" Event event \u003d parseEvent(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"dickongwd"},"content":" return new EventCommand(event);","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"dickongwd"},"content":" } catch (DukeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MESSAGE_INVALID_COMMAND, EventCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"dickongwd"},"content":" private Command parseMarkCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"dickongwd"},"content":" int taskNum \u003d Integer.parseInt(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"dickongwd"},"content":" return new MarkCommand(taskNum);","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"dickongwd"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(MarkCommand.MESSAGE_INVALID_TASK_NUMBER, MarkCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"dickongwd"},"content":" private Command parseUnmarkCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"dickongwd"},"content":" int taskNum \u003d Integer.parseInt(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"dickongwd"},"content":" return new UnmarkCommand(taskNum);","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"dickongwd"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(UnmarkCommand.MESSAGE_INVALID_TASK_NUMBER, UnmarkCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"dickongwd"},"content":" private Command parseListCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"dickongwd"},"content":" return new ListCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"dickongwd"},"content":" private Command parseDeleteCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"dickongwd"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"dickongwd"},"content":" int taskNum \u003d Integer.parseInt(args);","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"dickongwd"},"content":" return new DeleteCommand(taskNum);","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"dickongwd"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"dickongwd"},"content":" return new InvalidCommand(DeleteCommand.MESSAGE_INVALID_TASK_NUMBER, DeleteCommand.MESSAGE_USAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"dickongwd"},"content":" private Command parseByeCommand(String args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"dickongwd"},"content":" return new ByeCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":141}},{"path":"src/main/java/duke/storage/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import duke.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":" public static final String DEFAULT_STORAGE_PATH \u003d \".duke-storage.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" private final Path path;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public Storage() {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" this(DEFAULT_STORAGE_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" public Storage(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" this.path \u003d Paths.get(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" * Saves Duke\u0027s task list in a text file.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" * @param taskList the list of tasks to save","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":" * @throws IOException if an I/O error occurs when writing to the file","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" public void save(TaskList taskList) throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" List\u003cString\u003e encodedTaskList \u003d taskList.encode();","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" Files.write(path, encodedTaskList);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" * Loads the task list from Duke\u0027s data text file.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" * @return the loaded task list from the data text file","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" public TaskList load() throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" if (!Files.exists(path) || !Files.isRegularFile(path)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":" return new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" return TaskList.decode(Files.readAllLines(path));","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"dickongwd":45}},{"path":"src/main/java/duke/ui/TextUi.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"package duke.ui;","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"import java.io.InputStream;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"import java.io.PrintStream;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_FIRST_PROMPT;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_GOODBYE;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_INVALID_COMMAND;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"import static duke.common.Messages.MESSAGE_WELCOME;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"dickongwd"},"content":"public class TextUi {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"dickongwd"},"content":" public static final String DIVIDER \u003d \"__________________________________________________\";","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"dickongwd"},"content":" public static final String INDENT \u003d \" \";","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"dickongwd"},"content":" public static final String NAME \u003d \"Buzu\";","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":" private final Scanner in;","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":" private final PrintStream out;","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":" public TextUi() {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":" this(System.in, System.out);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"dickongwd"},"content":" public TextUi(InputStream in, PrintStream out) {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"dickongwd"},"content":" this.in \u003d new Scanner(in);","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"dickongwd"},"content":" this.out \u003d out;","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"dickongwd"},"content":" * Sends a formatted response to the user via standard input.","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"dickongwd"},"content":" * @param text The text to respond with, line by line","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"dickongwd"},"content":" public void showMessage(String... text) {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"dickongwd"},"content":" out.printf(\"%s%s%n\", INDENT, DIVIDER);","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"dickongwd"},"content":" for (String line : text) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"dickongwd"},"content":" out.printf(\"%s%s%n\", INDENT, line);","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"dickongwd"},"content":" out.printf(\"%s%s%n\", INDENT, DIVIDER);","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"dickongwd"},"content":" out.println();","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"dickongwd"},"content":" * Shows a welcome message to the user, typically during the start of program.","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"dickongwd"},"content":" public void showWelcomeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"dickongwd"},"content":" showMessage(MESSAGE_WELCOME, MESSAGE_FIRST_PROMPT);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"dickongwd"},"content":" * Shows a goodbye message to the user, typically during termination of the program.","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"dickongwd"},"content":" public void showGoodbyeMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"dickongwd"},"content":" showMessage(MESSAGE_GOODBYE);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"dickongwd"},"content":" * Shows an invalid command message to the user.","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"dickongwd"},"content":" public void showInvalidCommandMessage() {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"dickongwd"},"content":" showMessage(MESSAGE_INVALID_COMMAND);","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"dickongwd"},"content":" /**","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"dickongwd"},"content":" * Returns the input string from the user command.","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"dickongwd"},"content":" * Ignores empty or lines with only whitespace.","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"dickongwd"},"content":" *","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"dickongwd"},"content":" * @return the input string for the user command","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"dickongwd"},"content":" */","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"dickongwd"},"content":" public String getUserCommand() {","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"dickongwd"},"content":" String input;","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"dickongwd"},"content":" do {","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"dickongwd"},"content":" input \u003d in.nextLine();","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"dickongwd"},"content":" } while (input.trim().isEmpty());","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"dickongwd"},"content":" return input.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"dickongwd"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"dickongwd"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"dickongwd":76}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"dickongwd"},"content":"todo borrow book","lastModifiedDate":"2023-08-19"},{"lineNumber":2,"author":{"gitId":"dickongwd"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-19"},{"lineNumber":3,"author":{"gitId":"dickongwd"},"content":"mark 1","lastModifiedDate":"2023-08-19"},{"lineNumber":4,"author":{"gitId":"dickongwd"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-19"},{"lineNumber":5,"author":{"gitId":"dickongwd"},"content":"list","lastModifiedDate":"2023-08-19"},{"lineNumber":6,"author":{"gitId":"dickongwd"},"content":"what","lastModifiedDate":"2023-08-19"},{"lineNumber":7,"author":{"gitId":"dickongwd"},"content":"unmark me","lastModifiedDate":"2023-08-21"},{"lineNumber":8,"author":{"gitId":"dickongwd"},"content":"deadline buy food /at 7pm","lastModifiedDate":"2023-08-21"},{"lineNumber":9,"author":{"gitId":"dickongwd"},"content":"delete 1","lastModifiedDate":"2023-08-21"},{"lineNumber":10,"author":{"gitId":"dickongwd"},"content":"list","lastModifiedDate":"2023-08-21"},{"lineNumber":11,"author":{"gitId":"dickongwd"},"content":"bye","lastModifiedDate":"2023-08-19"}],"authorContributionMap":{"dickongwd":11}},{"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":"dickongwd"},"content":"# delete storage data from previous run","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"dickongwd"},"content":"if [ -e \"./.duke-storage.txt\" ]","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"dickongwd"},"content":"then","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"dickongwd"},"content":" rm .duke-storage.txt","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"dickongwd"},"content":"fi","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"dickongwd"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"-"},"content":"# compile the code into the bin folder, terminates if error occurred","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"dickongwd"},"content":"if ! javac -cp ../src/main/java -Xlint:none -d ../bin ../src/main/java/duke/*.java","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" echo \"********** BUILD FAILURE **********\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"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":29,"author":{"gitId":"dickongwd"},"content":"java -classpath ../bin duke/Duke \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":42,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"-":36,"dickongwd":8}}] diff --git a/dickongwd_ip_master/commits.json b/dickongwd_ip_master/commits.json index e5b8e69f..82df6f7d 100644 --- a/dickongwd_ip_master/commits.json +++ b/dickongwd_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"dickongwd":[{"date":"2023-08-18","commitResults":[{"hash":"eb666cc03c21c13bbbfe52573990200e80cdd5dc","isMergeCommit":false,"messageTitle":"Change chatbot name and implement initial greet and exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":6}}},{"hash":"a1c08f2702d2299ba5a2f4cfcd85f41c9daa5b04","isMergeCommit":false,"messageTitle":"Add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":34,"deletions":6}}},{"hash":"7c979982336c7d8a758bcfb7a435939b60472be3","isMergeCommit":false,"messageTitle":"Add list functionality","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":5}}}]},{"date":"2023-08-19","commitResults":[{"hash":"bf6e0618ec3614330989b3ef17173d36c1a86503","isMergeCommit":false,"messageTitle":"Add Task class, Command enum and mark/unmark functionality","messageBody":"","tags":["Level-3","A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":77,"deletions":9}}},{"hash":"9cfca21e1c3f2e864fb47c3335b60fd70024960a","isMergeCommit":false,"messageTitle":"Add Todo, Event and Deadline classes","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":0}}},{"hash":"5cfb4e65123d36dc07d104651b600eb128803a25","isMergeCommit":false,"messageTitle":"Add functionality for todo, deadline and event","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":76,"deletions":31}}},{"hash":"3f686694a8e4b09216cd64cc8644602599d8d323","isMergeCommit":false,"messageTitle":"Add testing using I/O redirection","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":8,"deletions":7},"sh":{"insertions":0,"deletions":0}}}]},{"date":"2023-08-21","commitResults":[{"hash":"c339163129d92b72a1ea39b32165fc3003eef7b6","isMergeCommit":false,"messageTitle":"Handle input errors","messageBody":"","tags":["Level-5","A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":164,"deletions":37}}},{"hash":"ae3936627a62d0b3d0dd576f6fbb07aa82580e97","isMergeCommit":false,"messageTitle":"Update tests to account for new error handling","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0}}},{"hash":"d7f42dbcf9809c7d9a44b73680c2db76cc6040f9","isMergeCommit":false,"messageTitle":"Add delete functionality","messageBody":"","tags":["Level-6","A-Enums","A-Collections"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":58,"deletions":5}}}]},{"date":"2023-09-01","commitResults":[{"hash":"f3491bcbc046b286cbdca9f531b84ddccb35da2a","isMergeCommit":false,"messageTitle":"Add ui package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":121,"deletions":56},"sh":{"insertions":1,"deletions":1}}}]},{"date":"2023-09-02","commitResults":[{"hash":"f3b729da84b87e885b41d46672ed67fb2be8b81a","isMergeCommit":false,"messageTitle":"Add storage package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":195,"deletions":10},"sh":{"insertions":2,"deletions":2}}},{"hash":"4c83ae5fff24f8a0139410d854edf6f72f92982b","isMergeCommit":false,"messageTitle":"Add save functionality with storage package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":195,"deletions":10},"sh":{"insertions":2,"deletions":2}}},{"hash":"e19970e2aedc945816e1837377708a12eec227f4","isMergeCommit":true,"messageTitle":"Add save functionality","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"94093181693c815f798451572ae578cd68c192f3","isMergeCommit":false,"messageTitle":"Add command, parser and common packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":401,"deletions":306},"sh":{"insertions":6,"deletions":0}}},{"hash":"870b6cd0f0f7df1c80a1aa2ed887dfa584c63bdc","isMergeCommit":false,"messageTitle":"Refactor decode to use parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":93,"deletions":55}}},{"hash":"6ef26e94fe9a9069dd5025e41740498e936a54cf","isMergeCommit":true,"messageTitle":"Refactor by separating into packages","messageBody":"","tags":["A-Packages","A-MoreOOP"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"dickongwd":{"java":772,"md":0,"fxml":0,"sh":8,"bat":0,"gradle":0,"txt":11}},"authorContributionVariance":{"dickongwd":96531.984},"authorDisplayNameMap":{"dickongwd":"CS2103T-F11-4 DICK..I DE"}} +{"authorDailyContributionsMap":{"dickongwd":[{"date":"2023-08-18","commitResults":[{"hash":"eb666cc03c21c13bbbfe52573990200e80cdd5dc","isMergeCommit":false,"messageTitle":"Change chatbot name and implement initial greet and exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":6}}},{"hash":"a1c08f2702d2299ba5a2f4cfcd85f41c9daa5b04","isMergeCommit":false,"messageTitle":"Add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":34,"deletions":6}}},{"hash":"7c979982336c7d8a758bcfb7a435939b60472be3","isMergeCommit":false,"messageTitle":"Add list functionality","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":5}}}]},{"date":"2023-08-19","commitResults":[{"hash":"bf6e0618ec3614330989b3ef17173d36c1a86503","isMergeCommit":false,"messageTitle":"Add Task class, Command enum and mark/unmark functionality","messageBody":"","tags":["Level-3","A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":77,"deletions":9}}},{"hash":"9cfca21e1c3f2e864fb47c3335b60fd70024960a","isMergeCommit":false,"messageTitle":"Add Todo, Event and Deadline classes","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":0}}},{"hash":"5cfb4e65123d36dc07d104651b600eb128803a25","isMergeCommit":false,"messageTitle":"Add functionality for todo, deadline and event","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":76,"deletions":31}}},{"hash":"3f686694a8e4b09216cd64cc8644602599d8d323","isMergeCommit":false,"messageTitle":"Add testing using I/O redirection","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":8,"deletions":7},"sh":{"insertions":0,"deletions":0}}}]},{"date":"2023-08-21","commitResults":[{"hash":"c339163129d92b72a1ea39b32165fc3003eef7b6","isMergeCommit":false,"messageTitle":"Handle input errors","messageBody":"","tags":["Level-5","A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":164,"deletions":37}}},{"hash":"ae3936627a62d0b3d0dd576f6fbb07aa82580e97","isMergeCommit":false,"messageTitle":"Update tests to account for new error handling","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0}}},{"hash":"d7f42dbcf9809c7d9a44b73680c2db76cc6040f9","isMergeCommit":false,"messageTitle":"Add delete functionality","messageBody":"","tags":["Level-6","A-Enums","A-Collections"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":58,"deletions":5}}}]},{"date":"2023-09-01","commitResults":[{"hash":"f3491bcbc046b286cbdca9f531b84ddccb35da2a","isMergeCommit":false,"messageTitle":"Add ui package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":121,"deletions":56},"sh":{"insertions":1,"deletions":1}}}]},{"date":"2023-09-02","commitResults":[{"hash":"f3b729da84b87e885b41d46672ed67fb2be8b81a","isMergeCommit":false,"messageTitle":"Add storage package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":195,"deletions":10},"sh":{"insertions":2,"deletions":2}}},{"hash":"4c83ae5fff24f8a0139410d854edf6f72f92982b","isMergeCommit":false,"messageTitle":"Add save functionality with storage package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":195,"deletions":10},"sh":{"insertions":2,"deletions":2}}},{"hash":"e19970e2aedc945816e1837377708a12eec227f4","isMergeCommit":true,"messageTitle":"Add save functionality","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"94093181693c815f798451572ae578cd68c192f3","isMergeCommit":false,"messageTitle":"Add command, parser and common packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":401,"deletions":306},"sh":{"insertions":6,"deletions":0}}},{"hash":"870b6cd0f0f7df1c80a1aa2ed887dfa584c63bdc","isMergeCommit":false,"messageTitle":"Refactor decode to use parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":93,"deletions":55}}},{"hash":"6ef26e94fe9a9069dd5025e41740498e936a54cf","isMergeCommit":true,"messageTitle":"Refactor by separating into packages","messageBody":"","tags":["A-Packages","A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"2a34fe59b082e41aabf961b707fcf61b4a451b86","isMergeCommit":false,"messageTitle":"Fix missing imports","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"dickongwd":{"java":774,"md":0,"fxml":0,"sh":8,"bat":0,"gradle":0,"txt":11}},"authorContributionVariance":{"dickongwd":96819.69},"authorDisplayNameMap":{"dickongwd":"CS2103T-F11-4 DICK..I DE"}} diff --git a/dom-buri_ip_master/commits.json b/dom-buri_ip_master/commits.json index f29ef51d..4b338cc8 100644 --- a/dom-buri_ip_master/commits.json +++ b/dom-buri_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"dom-buri":[{"date":"2023-08-23","commitResults":[{"hash":"5f905ede70ae95410b18123fcf6a04b44cbf2cb1","isMergeCommit":false,"messageTitle":"Implement initial skeletal version of chatbot","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":6}}},{"hash":"9773c0b12a384ad6dc1dafa1dcdfe558e08dc542","isMergeCommit":false,"messageTitle":"Add echo command and exit command for chatbot","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"422af47e2bb190699a84b05f8f48728612ff0d1d","isMergeCommit":false,"messageTitle":"Allow chatbot to store user input and display them","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":2}}},{"hash":"fb04ccc6615e4891e26ad0df6d867770721bd409","isMergeCommit":false,"messageTitle":"Create task class to represent a task list","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"8c69042bfb9387a67accb0d1996a82a2d32a3f7d","isMergeCommit":false,"messageTitle":"Allow marking tasks as done and not done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":52,"deletions":14}}},{"hash":"5cb500b3035d5de10df7fd6a17c3102976ffc594","isMergeCommit":false,"messageTitle":"Create Todo Deadline and Event class to support multiple task types","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":0}}},{"hash":"a8f0328d0b364cc07f5c30d74cb7872e3c03b8c8","isMergeCommit":false,"messageTitle":"Allow tracking of tasks into different types","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":17}}},{"hash":"50eb0079806277e311f4cce2adee4c14b217cfdc","isMergeCommit":false,"messageTitle":"Automate test of text UIs using I/O redirection technique","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0},"java":{"insertions":5,"deletions":1}}},{"hash":"a3c98336a98e9def26a1ebc5fe4a9059d2c9995a","isMergeCommit":false,"messageTitle":"Implement DukeException to handle chatbot errors","messageBody":"","tags":["A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"eaa2237a35fd5ffdb39f2a4d3d780adc322abfc6","isMergeCommit":false,"messageTitle":"Handle input errors entered by the user","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":43}}},{"hash":"ad07f2b093008e9448ca509eff2d29c425a4bb2c","isMergeCommit":false,"messageTitle":"Change data structure for tasks list from array to arraylist for easier deletion of tasks","messageBody":"","tags":["A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":15}}},{"hash":"be29ff3a3f1ca618738c00d75dd476301cfbe161","isMergeCommit":false,"messageTitle":"Allow deletion of tasks from the list","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":0}}},{"hash":"1adbd5f7ee0e4478cf2018fda6688f9cca197b41","isMergeCommit":false,"messageTitle":"Use enums instead of string for user instructions","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":12}}},{"hash":"87a08a1852d4f2b46e7b33214dddfe4c0eab3c0d","isMergeCommit":false,"messageTitle":"Update test cases for new features","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":20,"deletions":4}}}]},{"date":"2023-08-30","commitResults":[{"hash":"0ab74600a9cc9f0c17d1557bf4a79e20f508c8d4","isMergeCommit":false,"messageTitle":"Update .txt file when tasks are created or updated","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":43,"deletions":5}}},{"hash":"a8c581fcbd1a5da8707c67612531c85b7eb8fa89","isMergeCommit":false,"messageTitle":"Update .txt file when tasks are deleted","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}},{"hash":"73b2c8209eb6a6d3bad8376fe1ba493e1babb4d1","isMergeCommit":false,"messageTitle":"Read .txt file when chatbot starts up","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":67,"deletions":8}}},{"hash":"2ce2732752cd7e40df7f14d047017ddacfd43c45","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"8f8408f03268c8603a0c19e30f42b0c0a4223512","isMergeCommit":false,"messageTitle":"Use Date class for storing of dates","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":41,"deletions":26}}},{"hash":"eadea780aed66036903711a89c6f263f8247de7e","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"6f851c83bf5920ca3cb4e25f7d5ed071cdddb8b2","isMergeCommit":false,"messageTitle":"Refactor using Ui, Parser and Storage classes","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":445,"deletions":234}}},{"hash":"37426a269e7aa75279a760ffc8cd933e2cf5a7f9","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"98f71dc4b0f8f562374b3cdd157c3f39c7097a41","isMergeCommit":false,"messageTitle":"Organize classes into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1},"java":{"insertions":97,"deletions":7}}},{"hash":"4fd8d55c12db2ced53fe3048a9408028e35fe7ce","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a30cbe158a5006eaf811f8ed04b93e40ecf5e7ef","isMergeCommit":false,"messageTitle":"Update main class name in Gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"acf71c37d4ac661ce93765c2a5027193c5fcd0d2","isMergeCommit":false,"messageTitle":"Add JUnit tests for Parser and TaskList","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":0}}},{"hash":"2d4a5004a59c060c4191c40ae56fe3ee9aa4c8f0","isMergeCommit":false,"messageTitle":"Implement searching of tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":51,"deletions":2}}},{"hash":"e5e811b4a5c70b5251c60e464bb639839647c0e4","isMergeCommit":false,"messageTitle":"Standardized code to given coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":96,"deletions":66}}},{"hash":"7149afafdb911693675f083441ec3a5159b3041d","isMergeCommit":false,"messageTitle":"Add documentation to Duke","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":290,"deletions":9}}},{"hash":"bfcbc2b0d90200c92bc8e51a4ae9cae2c1205352","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"9822bb7bdbd7bca9c961b799b62d28dcaf2baf48","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/data/task/Task.java\n","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"6318037b03b4d5239d5b0f11848661d664e81502","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/data/task/Task.java\n#\tsrc/main/java/duke/parser/Parser.java\n#\tsrc/main/java/duke/ui/Ui.java\n","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"dom-buri":{"java":1134,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":34}},"authorContributionVariance":{"dom-buri":156169.23},"authorDisplayNameMap":{"dom-buri":"DOMI.. YAO"}} +{"authorDailyContributionsMap":{"dom-buri":[{"date":"2023-08-23","commitResults":[{"hash":"5f905ede70ae95410b18123fcf6a04b44cbf2cb1","isMergeCommit":false,"messageTitle":"Implement initial skeletal version of chatbot","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":6}}},{"hash":"9773c0b12a384ad6dc1dafa1dcdfe558e08dc542","isMergeCommit":false,"messageTitle":"Add echo command and exit command for chatbot","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"422af47e2bb190699a84b05f8f48728612ff0d1d","isMergeCommit":false,"messageTitle":"Allow chatbot to store user input and display them","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":2}}},{"hash":"fb04ccc6615e4891e26ad0df6d867770721bd409","isMergeCommit":false,"messageTitle":"Create task class to represent a task list","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"8c69042bfb9387a67accb0d1996a82a2d32a3f7d","isMergeCommit":false,"messageTitle":"Allow marking tasks as done and not done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":52,"deletions":14}}},{"hash":"5cb500b3035d5de10df7fd6a17c3102976ffc594","isMergeCommit":false,"messageTitle":"Create Todo Deadline and Event class to support multiple task types","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":0}}},{"hash":"a8f0328d0b364cc07f5c30d74cb7872e3c03b8c8","isMergeCommit":false,"messageTitle":"Allow tracking of tasks into different types","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":17}}},{"hash":"50eb0079806277e311f4cce2adee4c14b217cfdc","isMergeCommit":false,"messageTitle":"Automate test of text UIs using I/O redirection technique","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0},"java":{"insertions":5,"deletions":1}}},{"hash":"a3c98336a98e9def26a1ebc5fe4a9059d2c9995a","isMergeCommit":false,"messageTitle":"Implement DukeException to handle chatbot errors","messageBody":"","tags":["A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"eaa2237a35fd5ffdb39f2a4d3d780adc322abfc6","isMergeCommit":false,"messageTitle":"Handle input errors entered by the user","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":43}}},{"hash":"ad07f2b093008e9448ca509eff2d29c425a4bb2c","isMergeCommit":false,"messageTitle":"Change data structure for tasks list from array to arraylist for easier deletion of tasks","messageBody":"","tags":["A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":15}}},{"hash":"be29ff3a3f1ca618738c00d75dd476301cfbe161","isMergeCommit":false,"messageTitle":"Allow deletion of tasks from the list","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":0}}},{"hash":"1adbd5f7ee0e4478cf2018fda6688f9cca197b41","isMergeCommit":false,"messageTitle":"Use enums instead of string for user instructions","messageBody":"","tags":["A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":12}}},{"hash":"87a08a1852d4f2b46e7b33214dddfe4c0eab3c0d","isMergeCommit":false,"messageTitle":"Update test cases for new features","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":20,"deletions":4}}}]},{"date":"2023-08-30","commitResults":[{"hash":"0ab74600a9cc9f0c17d1557bf4a79e20f508c8d4","isMergeCommit":false,"messageTitle":"Update .txt file when tasks are created or updated","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":43,"deletions":5}}},{"hash":"a8c581fcbd1a5da8707c67612531c85b7eb8fa89","isMergeCommit":false,"messageTitle":"Update .txt file when tasks are deleted","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}},{"hash":"73b2c8209eb6a6d3bad8376fe1ba493e1babb4d1","isMergeCommit":false,"messageTitle":"Read .txt file when chatbot starts up","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":67,"deletions":8}}},{"hash":"2ce2732752cd7e40df7f14d047017ddacfd43c45","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"8f8408f03268c8603a0c19e30f42b0c0a4223512","isMergeCommit":false,"messageTitle":"Use Date class for storing of dates","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":41,"deletions":26}}},{"hash":"eadea780aed66036903711a89c6f263f8247de7e","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"6f851c83bf5920ca3cb4e25f7d5ed071cdddb8b2","isMergeCommit":false,"messageTitle":"Refactor using Ui, Parser and Storage classes","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":445,"deletions":234}}},{"hash":"37426a269e7aa75279a760ffc8cd933e2cf5a7f9","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"98f71dc4b0f8f562374b3cdd157c3f39c7097a41","isMergeCommit":false,"messageTitle":"Organize classes into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1},"java":{"insertions":97,"deletions":7}}},{"hash":"4fd8d55c12db2ced53fe3048a9408028e35fe7ce","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a30cbe158a5006eaf811f8ed04b93e40ecf5e7ef","isMergeCommit":false,"messageTitle":"Update main class name in Gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"acf71c37d4ac661ce93765c2a5027193c5fcd0d2","isMergeCommit":false,"messageTitle":"Add JUnit tests for Parser and TaskList","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":0}}},{"hash":"2d4a5004a59c060c4191c40ae56fe3ee9aa4c8f0","isMergeCommit":false,"messageTitle":"Implement searching of tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":1},"java":{"insertions":51,"deletions":2}}},{"hash":"e5e811b4a5c70b5251c60e464bb639839647c0e4","isMergeCommit":false,"messageTitle":"Standardized code to given coding standard","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":96,"deletions":66}}},{"hash":"7149afafdb911693675f083441ec3a5159b3041d","isMergeCommit":false,"messageTitle":"Add documentation to Duke","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":290,"deletions":9}}},{"hash":"bfcbc2b0d90200c92bc8e51a4ae9cae2c1205352","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"9822bb7bdbd7bca9c961b799b62d28dcaf2baf48","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/data/task/Task.java\n","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"6318037b03b4d5239d5b0f11848661d664e81502","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/data/task/Task.java\n#\tsrc/main/java/duke/parser/Parser.java\n#\tsrc/main/java/duke/ui/Ui.java\n","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"dom-buri":{"java":1134,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":34}},"authorContributionVariance":{"dom-buri":156169.23},"authorDisplayNameMap":{"dom-buri":"CS2103-F13-3 DOMI.. YAO"}} diff --git a/feifeiraindrops_ip_master/authorship.json b/feifeiraindrops_ip_master/authorship.json index eb66b221..e8da220d 100644 --- a/feifeiraindrops_ip_master/authorship.json +++ b/feifeiraindrops_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"# BenBen project template","lastModifiedDate":"2023-08-23"},{"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":"feifeiraindrops"},"content":"3. After that, locate the `src/main/java/BenBen.java` file, right-click it, and choose `Run BenBen.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-23"},{"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":{"feifeiraindrops":2,"-":22}},{"path":"src/main/java/benben/BenBen.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"public class BenBen {","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" private Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" private TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" private Ui ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" public BenBen(String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" ui \u003d new Ui();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" tasks \u003d new TaskList(storage.load());","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" } catch (BenBenException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" //ui.showLoadingError();","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" public void todo(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" String des \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 1; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" if (des.length() \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please follow the format: todo todo details\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d new Todo(des);","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" ui.showAdd(t.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" public void deadline(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" String des \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" String ddl \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" boolean isDes \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 1; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[i].equals(\"/by\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" isDes \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" if (isDes) {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" ddl \u003d ddl + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" ddl \u003d ddl.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" if (des.length() \u003d\u003d 0 || ddl.length() \u003d\u003d 0 ) {","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please follow the format: deadline deadline details /by yyyy/mm/dd\");","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d new Deadline(des, ddl);","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" //arr[counter] \u003d t;","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" ui.showAdd(t.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" public void event (String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" String des \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" String start \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" String end \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" boolean isDes \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":" boolean isStart \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 1; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[i].equals(\"/from\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":" isDes \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":" isStart \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[i].equals(\"/to\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"feifeiraindrops"},"content":" isStart \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"feifeiraindrops"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"feifeiraindrops"},"content":" if (isDes \u0026\u0026 !isStart) {","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"feifeiraindrops"},"content":" } else if (!isDes \u0026\u0026 isStart) {","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"feifeiraindrops"},"content":" start \u003d start + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"feifeiraindrops"},"content":" end \u003d end + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"feifeiraindrops"},"content":" start \u003d start.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"feifeiraindrops"},"content":" end \u003d end.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"feifeiraindrops"},"content":" if (des.length() \u003d\u003d 0 || start.length() \u003d\u003d 0 || end.length() \u003d\u003d 0 ) {","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please follow the format: event event details /from yyyy-MM-dd HH-mm /to yyyy-MM-dd HH-mm\");","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d new Event(des, start, end);","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"feifeiraindrops"},"content":" //arr[counter] \u003d t;","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"feifeiraindrops"},"content":" ui.showAdd(t.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"feifeiraindrops"},"content":" public void iterList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"feifeiraindrops"},"content":" ui.showList(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"feifeiraindrops"},"content":" public void mark(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a task to mark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one task to mark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"feifeiraindrops"},"content":" Integer x \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"feifeiraindrops"},"content":" x \u003d Integer.parseInt(strSplit[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"feifeiraindrops"},"content":" //arr[x - 1].mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"feifeiraindrops"},"content":" tasks.get(x - 1).mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"feifeiraindrops"},"content":" ui.showMark(tasks.get(x - 1).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"feifeiraindrops"},"content":" } catch(NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please use an integer value to indicate your task!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"feifeiraindrops"},"content":" } catch(NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to mark does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"feifeiraindrops"},"content":" public void unmark(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a task to unmark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one task to unmark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"feifeiraindrops"},"content":" Integer x \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"feifeiraindrops"},"content":" x \u003d Integer.parseInt(strSplit[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"feifeiraindrops"},"content":" //[x - 1].unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"feifeiraindrops"},"content":" tasks.get(x - 1).unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"feifeiraindrops"},"content":" ui.showUnmark(tasks.get(x - 1).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please use an integer value to indicate your task!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to unmark does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"feifeiraindrops"},"content":" public void remove(String str) throws BenBenException {","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a task to remove!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one task to remove!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"feifeiraindrops"},"content":" Integer x \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"feifeiraindrops"},"content":" x \u003d Integer.parseInt(strSplit[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"feifeiraindrops"},"content":" //[x - 1].unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"feifeiraindrops"},"content":" Task temp \u003d tasks.get(x - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"feifeiraindrops"},"content":" tasks.remove(x - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"feifeiraindrops"},"content":" //counter \u003d counter - 1;","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"feifeiraindrops"},"content":" ui.showRemove(temp.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please use an integer value to indicate your task!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to remove does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"feifeiraindrops"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to remove does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"feifeiraindrops"},"content":" public void exit() {","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"feifeiraindrops"},"content":" ui.showExit();","lastModifiedDate":"2023-09-02"},{"lineNumber":195,"author":{"gitId":"feifeiraindrops"},"content":" System.exit(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":196,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":197,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":198,"author":{"gitId":"feifeiraindrops"},"content":" public void run() {","lastModifiedDate":"2023-09-02"},{"lineNumber":199,"author":{"gitId":"feifeiraindrops"},"content":" ui.showWelcome();","lastModifiedDate":"2023-09-02"},{"lineNumber":200,"author":{"gitId":"feifeiraindrops"},"content":" Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":201,"author":{"gitId":"feifeiraindrops"},"content":" while (sc.hasNext()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":202,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":203,"author":{"gitId":"feifeiraindrops"},"content":" String next \u003d sc.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":204,"author":{"gitId":"feifeiraindrops"},"content":" Parser.parse(this, next);","lastModifiedDate":"2023-09-02"},{"lineNumber":205,"author":{"gitId":"feifeiraindrops"},"content":" } catch (BenBenException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":206,"author":{"gitId":"feifeiraindrops"},"content":" ui.show(e.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":207,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":208,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":209,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":210,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":211,"author":{"gitId":"feifeiraindrops"},"content":" public static void main(String[] args) throws BenBenException {","lastModifiedDate":"2023-09-02"},{"lineNumber":212,"author":{"gitId":"feifeiraindrops"},"content":" new BenBen(\"./src/main/java/tasks.txt\").run();","lastModifiedDate":"2023-09-02"},{"lineNumber":213,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":214,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-02"},{"lineNumber":215,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":215}},{"path":"src/main/java/benben/BenBenException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"class BenBenException extends RuntimeException {","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":" BenBenException(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":" super(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" return \"WOOF! \" + getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":12}},{"path":"src/main/java/benben/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" protected LocalDate ddl;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" protected final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd\");","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" public Deadline(String description, String ddl) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" this.ddl \u003d LocalDate.parse(ddl);","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The date and time is of the wrong format! Please use yyyy-MM-dd\");","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" return \"[D] \" + super.toString() + \" (by: \" + getDdl() + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" public String getDdl() {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" return this.ddl.getMonth().toString() + \" \" + this.ddl.getDayOfMonth() + \" \" + this.ddl.getYear();","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" public String getFormattedDdl() {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" return ddl.format(formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" public String getLog() {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" return \"D | \" + (isDone? \"1\" : \"0\")","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.description","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.getFormattedDdl() + System.lineSeparator();","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" if (task \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" if (!(task instanceof Deadline)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" Deadline t \u003d (Deadline) task;","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" return t.getLog().equals(this.getLog());","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":54}},{"path":"src/main/java/benben/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.ZoneId;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"public class Event extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" protected LocalDateTime startTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" protected LocalDateTime endTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" protected final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\").withZone(ZoneId.systemDefault());","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" public Event(String description,String startTime, String endTime) throws BenBenException {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" this.startTime \u003d LocalDateTime.parse(startTime, formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" this.endTime \u003d LocalDateTime.parse(endTime, formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" if (this.startTime.isAfter(this.endTime)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The end time should be later than the start time!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The date and time is of the wrong format! Please use yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" return \"[E] \" + super.toString() + \" (from: \" + getStartTime() + \" to: \" + getEndTime() + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" public String getStartTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" return startTime.getMonth().toString()","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + startTime.getDayOfMonth()","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + startTime.getYear()","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + startTime.getHour() + \":\" + startTime.getMinute();","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" public String getEndTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" return endTime.getMonth().toString()","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + endTime.getDayOfMonth()","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + endTime.getYear()","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + endTime.getHour() + \":\" + endTime.getMinute();","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" public String getFormattedStart() {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" return startTime.format(formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" public String getFormattedEnd() {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" return endTime.format(formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" public String getLog() {","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" return \"E | \" + (isDone? \"1\" : \"0\")","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.description","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + getFormattedStart()","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + getFormattedEnd() + System.lineSeparator();","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" if (task \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" if (!(task instanceof Event)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" Event t \u003d (Event) task;","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" return t.getLog().equals(this.getLog());","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":74}},{"path":"src/main/java/benben/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"public class Parser {","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"// private static Storage storage;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"// private static Ui ui;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"//","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":"// public static void setStorage(Storage s) {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"// storage \u003d s;","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"// }","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":"//","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":"// public static void setUi(Ui ui) {","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":"// ui \u003d ui;","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":"// }","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" public static void parse(BenBen bb, String next) throws BenBenException{","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" boolean bool \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.equals(\"bye\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" bb.exit();","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.equals(\"list\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" bb.iterList();","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.startsWith(\"mark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" bb.mark(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.startsWith(\"unmark\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" bb.unmark(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.startsWith(\"todo\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" bb.todo(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.startsWith(\"deadline\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" bb.deadline(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.startsWith(\"event\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" bb.event(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool \u0026\u0026 next.startsWith(\"delete\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" bb.remove(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" bool \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" if (!bool) {","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"bb does not understand your instruction:(\");","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"feifeiraindrops":65}},{"path":"src/main/java/benben/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.File;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"public class Storage {","lastModifiedDate":"2023-08-31"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" private final String filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" //private static String filePath \u003d \"./src/main/java/tasks.txt\";","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" private File file;","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" public void write(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" FileWriter fw \u003d new FileWriter(this.filePath);","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" String content \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d tasks.get(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" content \u003d content + t.getLog();","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" fw.write(content);","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" fw.close();","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Failed to write to file!\" + e.getMessage());","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" public ArrayList\u003cTask\u003e load() throws BenBenException {","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" ArrayList\u003cTask\u003e list \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(file.exists());","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" boolean isCreated \u003d file.createNewFile();","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" return list;","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(isCreated + \"new file created\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" Scanner sc \u003d new Scanner(file);","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(\"next line? : \" + sc.hasNext());","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" while (sc.hasNext()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" boolean canRead \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" String task \u003d sc.nextLine();","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d task.split(\"\\\\|\");","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" strSplit[i] \u003d strSplit[i].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(strSplit[i]);","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(\"length: \" + strSplit.length);","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[0].startsWith(\"T\") \u0026\u0026 strSplit.length \u003d\u003d 3) {","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" Task nextTask \u003d new Todo(strSplit[2]);","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":"// System.out.println(strSplit[1]);","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":"// System.out.println(strSplit[1].equals(\"1\"));","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[1].startsWith(\"1\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" nextTask.mark();","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" } else if (strSplit[1].startsWith(\"0\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[0].startsWith(\"D\") \u0026\u0026 strSplit.length \u003d\u003d 4) {","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" Task nextTask \u003d new Deadline(strSplit[2], strSplit[3]);","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[1].startsWith(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" nextTask.mark();","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" } else if (strSplit[1].startsWith(\"0\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[0].startsWith(\"E\") \u0026\u0026 strSplit.length \u003d\u003d 5) {","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"feifeiraindrops"},"content":" Task nextTask \u003d new Event(strSplit[2], strSplit[3], strSplit[4]);","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[1].startsWith(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":85,"author":{"gitId":"feifeiraindrops"},"content":" nextTask.mark();","lastModifiedDate":"2023-09-01"},{"lineNumber":86,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-01"},{"lineNumber":87,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":88,"author":{"gitId":"feifeiraindrops"},"content":" } else if (strSplit[1].startsWith(\"0\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"feifeiraindrops"},"content":" if (!canRead) {","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The file content is corrupted, please report this to admin\");","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(list.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"feifeiraindrops"},"content":" return list;","lastModifiedDate":"2023-09-01"},{"lineNumber":100,"author":{"gitId":"feifeiraindrops"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":101,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The local file is not found in the directory\");","lastModifiedDate":"2023-09-01"},{"lineNumber":102,"author":{"gitId":"feifeiraindrops"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":103,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"IOException found!\" + e.getMessage());","lastModifiedDate":"2023-09-01"},{"lineNumber":104,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The local file does not exits\");","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":108}},{"path":"src/main/java/benben/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"public abstract class Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":" protected String description;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":" protected boolean isDone;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" public Task(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" this.description \u003d description;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" public void mark() {","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" public void unmark() {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" public String description() {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" return this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" public abstract String getLog() ;","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":33}},{"path":"src/main/java/benben/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"public class TaskList {","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" public TaskList() {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" public TaskList(ArrayList\u003cTask\u003e list) {","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" this.tasks \u003d list;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" public void add(Task t) {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" public void remove(int i) {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" tasks.remove(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" public int size() {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" return tasks.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" public Task get(int i) {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" return tasks.get(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" if (o \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" if (!(o instanceof TaskList)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" TaskList list \u003d (TaskList) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" return this.tasks.equals(list.tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"feifeiraindrops":45}},{"path":"src/main/java/benben/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":" public Todo(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" return \"[T] \" + super.toString();","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" public String getLog() {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" return \"T | \" + (isDone? \"1\" : \"0\")","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.description + System.lineSeparator();","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" if (task \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" if (!(task instanceof Todo)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" Todo t \u003d (Todo) task;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" return t.getLog() \u003d\u003d (this.getLog());","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":32}},{"path":"src/main/java/benben/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"public class Ui {","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":" private static final String line \u003d\"_______________________________________\\n\";","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" public Ui() {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" public void show(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" System.out.print(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" public void showExit() {","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Bye. Hope to see you again soon!\\n\" + line);","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" public void showLoadingError() {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"An error occurred while we are loading your task list! A new list has been generated!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" System.out.print(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" public void showWelcome() {","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Hello! I\u0027m BenBen.\\n\" +","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" \"What can I do for you?\");","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" public void showAdd(String msg, int size) {","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Now you have \" + size + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" public void showRemove(String msg, int size) {","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Now you have \" + size + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" public void showUnmark(String msg) {","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n\" +","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" \" \" + msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" public void showMark(String msg) {","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n\" +","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" \" \" + msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" public void showList(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Your list is currently empty! Add a new task now!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println((i + 1) + \".\" + tasks.get(i).toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"feifeiraindrops":76}},{"path":"src/main/java/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"D | 0 | ip | 2023-08-31","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"E | 0 | meeting | 2023-09-01 10:00 | 2023-09-01 12:00","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"T | 0 | eat vitamins","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":3}},{"path":"src/main/java/test-1.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"D | 0 | ip | 2023-08-31","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":1}},{"path":"src/test/java/benben/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;public class StorageTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":2}},{"path":"src/test/java/benben/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;public class TaskListTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":2}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"todo leetcode","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"mark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"mark 3","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"unmark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"list","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"feifeiraindrops":7}},{"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":"feifeiraindrops"},"content":"java -classpath ..\\bin BenBen \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-23"},{"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":{"feifeiraindrops":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":"feifeiraindrops"},"content":"java -classpath ../bin BenBen \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-23"},{"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":{"feifeiraindrops":1,"-":37}}] +[{"path":"README.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"# BenBen project template","lastModifiedDate":"2023-08-23"},{"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":"feifeiraindrops"},"content":"3. After that, locate the `src/main/java/BenBen.java` file, right-click it, and choose `Run BenBen.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-23"},{"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":{"feifeiraindrops":2,"-":22}},{"path":"src/main/java/benben/BenBen.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" * The type BenBen is a chatbot that interacts with the user by taking input from the system","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" * and prints its response as system output.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" * It can create and edit a task list for a user.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"public class BenBen {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" private final Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" private TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" private final Ui ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" * Instantiates a new BenBen with the given task list","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" * @param filePath the file path of the task list","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" public BenBen(String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" ui \u003d new Ui();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" tasks \u003d new TaskList(storage.load());","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" } catch (BenBenException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" tasks \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" * Creates a Todo task in the list with the specific description","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" * @param str the string command from the user","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException when the command from the user is of the wrong format","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" public void todo(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" String des \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 1; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" if (des.length() \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please follow the format: todo todo details\");","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d new Todo(des);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" ui.showAdd(t.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" * Creates a Deadline task in the list with the specific description and deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" * @param str the string command from the user","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException when the command from the user is of the wrong format","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" public void deadline(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" String des \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" String ddl \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" boolean isDes \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 1; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[i].equals(\"/by\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" isDes \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" if (isDes) {","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" ddl \u003d ddl + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":" ddl \u003d ddl.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":" if (des.length() \u003d\u003d 0 || ddl.length() \u003d\u003d 0 ) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please follow the format: deadline deadline details /by yyyy/mm/dd\");","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d new Deadline(des, ddl);","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"feifeiraindrops"},"content":" ui.showAdd(t.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"feifeiraindrops"},"content":" + Creates a Event task in the list with the specific description, start time and end time","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"feifeiraindrops"},"content":" * @param str the string command from the user","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException when the command from the user is of the wrong format","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"feifeiraindrops"},"content":" public void event (String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"feifeiraindrops"},"content":" String des \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"feifeiraindrops"},"content":" String start \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"feifeiraindrops"},"content":" String end \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"feifeiraindrops"},"content":" boolean isDes \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"feifeiraindrops"},"content":" boolean isStart \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 1; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[i].equals(\"/from\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"feifeiraindrops"},"content":" isDes \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"feifeiraindrops"},"content":" isStart \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"feifeiraindrops"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[i].equals(\"/to\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"feifeiraindrops"},"content":" isStart \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"feifeiraindrops"},"content":" continue;","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"feifeiraindrops"},"content":" if (isDes \u0026\u0026 !isStart) {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"feifeiraindrops"},"content":" } else if (!isDes \u0026\u0026 isStart) {","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"feifeiraindrops"},"content":" start \u003d start + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"feifeiraindrops"},"content":" end \u003d end + \" \" + strSplit[i];","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"feifeiraindrops"},"content":" des \u003d des.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"feifeiraindrops"},"content":" start \u003d start.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"feifeiraindrops"},"content":" end \u003d end.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"feifeiraindrops"},"content":" if (des.length() \u003d\u003d 0 || start.length() \u003d\u003d 0 || end.length() \u003d\u003d 0 ) {","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please follow the format: event event details /from yyyy-MM-dd HH-mm /to yyyy-MM-dd HH-mm\");","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d new Event(des, start, end);","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"feifeiraindrops"},"content":" ui.showAdd(t.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"feifeiraindrops"},"content":" * Iterates the list and prints out the tasks currently in the task list and their status","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"feifeiraindrops"},"content":" public void iterList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"feifeiraindrops"},"content":" ui.showList(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"feifeiraindrops"},"content":" * Marks a given task as done","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"feifeiraindrops"},"content":" * @param str the string command from the suer","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if the command is not of the required format or if the target task does not exist","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"feifeiraindrops"},"content":" public void mark(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a task to mark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one task to mark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"feifeiraindrops"},"content":" int x;","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"feifeiraindrops"},"content":" x \u003d Integer.parseInt(strSplit[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"feifeiraindrops"},"content":" tasks.get(x - 1).mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"feifeiraindrops"},"content":" ui.showMark(tasks.get(x - 1).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"feifeiraindrops"},"content":" } catch(NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please use an integer value to indicate your task!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"feifeiraindrops"},"content":" } catch(NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to mark does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"feifeiraindrops"},"content":" * Marks a given task as not done","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"feifeiraindrops"},"content":" * @param str the string command from the suer","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if the command is not of the required format or if the target task does not exist","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"feifeiraindrops"},"content":" public void unmark(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a task to unmark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one task to unmark!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"feifeiraindrops"},"content":" int x;","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"feifeiraindrops"},"content":" x \u003d Integer.parseInt(strSplit[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"feifeiraindrops"},"content":" tasks.get(x - 1).unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":195,"author":{"gitId":"feifeiraindrops"},"content":" ui.showUnmark(tasks.get(x - 1).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":196,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":197,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":198,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please use an integer value to indicate your task!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":199,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":200,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to unmark does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":201,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":202,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":203,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":204,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":205,"author":{"gitId":"feifeiraindrops"},"content":" * Removes a task from the list","lastModifiedDate":"2023-09-02"},{"lineNumber":206,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":207,"author":{"gitId":"feifeiraindrops"},"content":" * @param str the string command from the user","lastModifiedDate":"2023-09-02"},{"lineNumber":208,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if the command is not of the required format or if the target task does not exist","lastModifiedDate":"2023-09-02"},{"lineNumber":209,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":210,"author":{"gitId":"feifeiraindrops"},"content":" public void remove(String str) throws BenBenException {","lastModifiedDate":"2023-09-02"},{"lineNumber":211,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":212,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":213,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":214,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a task to remove!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":215,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":216,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":217,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one task to remove!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":218,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":219,"author":{"gitId":"feifeiraindrops"},"content":" int x;","lastModifiedDate":"2023-09-02"},{"lineNumber":220,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":221,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":222,"author":{"gitId":"feifeiraindrops"},"content":" x \u003d Integer.parseInt(strSplit[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":223,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":224,"author":{"gitId":"feifeiraindrops"},"content":" Task temp \u003d tasks.get(x - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":225,"author":{"gitId":"feifeiraindrops"},"content":" tasks.remove(x - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":226,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":227,"author":{"gitId":"feifeiraindrops"},"content":" ui.showRemove(temp.toString(), tasks.size());","lastModifiedDate":"2023-09-02"},{"lineNumber":228,"author":{"gitId":"feifeiraindrops"},"content":" storage.write(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":229,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":230,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please use an integer value to indicate your task!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":231,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NullPointerException | IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":232,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The task you are trying to remove does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":233,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":234,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":235,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":236,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":237,"author":{"gitId":"feifeiraindrops"},"content":" * Exits the program","lastModifiedDate":"2023-09-02"},{"lineNumber":238,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":239,"author":{"gitId":"feifeiraindrops"},"content":" public void find(String str) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":240,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d str.split(\"\\\\s+\");","lastModifiedDate":"2023-09-02"},{"lineNumber":241,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":242,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":243,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please enter a keyword for your search!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":244,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":245,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit.length \u003e 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":246,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Please only enter one keyword to search!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":247,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":248,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":249,"author":{"gitId":"feifeiraindrops"},"content":" ArrayList\u003cTask\u003e relevantTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":250,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":251,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d tasks.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":252,"author":{"gitId":"feifeiraindrops"},"content":" if (t.getDescription().contains(strSplit[1])) {","lastModifiedDate":"2023-09-02"},{"lineNumber":253,"author":{"gitId":"feifeiraindrops"},"content":" relevantTasks.add(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":254,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":255,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":256,"author":{"gitId":"feifeiraindrops"},"content":" ui.showMatching(relevantTasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":257,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":258,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":259,"author":{"gitId":"feifeiraindrops"},"content":" public void exit() {","lastModifiedDate":"2023-09-02"},{"lineNumber":260,"author":{"gitId":"feifeiraindrops"},"content":" ui.showExit();","lastModifiedDate":"2023-09-02"},{"lineNumber":261,"author":{"gitId":"feifeiraindrops"},"content":" System.exit(0);","lastModifiedDate":"2023-09-02"},{"lineNumber":262,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":263,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":264,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":265,"author":{"gitId":"feifeiraindrops"},"content":" * Starts the chatbot","lastModifiedDate":"2023-09-02"},{"lineNumber":266,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":267,"author":{"gitId":"feifeiraindrops"},"content":" public void run() {","lastModifiedDate":"2023-09-02"},{"lineNumber":268,"author":{"gitId":"feifeiraindrops"},"content":" ui.showWelcome();","lastModifiedDate":"2023-09-02"},{"lineNumber":269,"author":{"gitId":"feifeiraindrops"},"content":" Scanner sc \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":270,"author":{"gitId":"feifeiraindrops"},"content":" while (sc.hasNext()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":271,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":272,"author":{"gitId":"feifeiraindrops"},"content":" String next \u003d sc.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":273,"author":{"gitId":"feifeiraindrops"},"content":" Parser.parse(this, next);","lastModifiedDate":"2023-09-02"},{"lineNumber":274,"author":{"gitId":"feifeiraindrops"},"content":" } catch (BenBenException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":275,"author":{"gitId":"feifeiraindrops"},"content":" ui.show(e.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":276,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":277,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":278,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":279,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":280,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":281,"author":{"gitId":"feifeiraindrops"},"content":" * The entry point of application.","lastModifiedDate":"2023-09-02"},{"lineNumber":282,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":283,"author":{"gitId":"feifeiraindrops"},"content":" * @param args the input arguments","lastModifiedDate":"2023-09-02"},{"lineNumber":284,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if there is any error and prints teh error message","lastModifiedDate":"2023-09-02"},{"lineNumber":285,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":286,"author":{"gitId":"feifeiraindrops"},"content":" public static void main(String[] args) throws BenBenException {","lastModifiedDate":"2023-09-02"},{"lineNumber":287,"author":{"gitId":"feifeiraindrops"},"content":" new BenBen(\"./src/main/java/tasks.txt\").run();","lastModifiedDate":"2023-09-02"},{"lineNumber":288,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":289,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-02"},{"lineNumber":290,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":290}},{"path":"src/main/java/benben/BenBenException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":" * The exception thrown form the chatbot benben","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" * prints an error message to the screen without crashing the program","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"class BenBenException extends RuntimeException {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" * Instantiates a new Ben Ben exception.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" * @param message the message to be printed on tghe screen","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" BenBenException(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" super(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" return \"WOOF! \" + getMessage();","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":22}},{"path":"src/main/java/benben/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" * A type of task that has a specific date to be completed","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" * The deadline by which the task should be completed","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" protected LocalDate ddl;","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" * The Formatter sued to parse the string into a LocalDateTime","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" protected final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd\");","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" * Instantiates a new Deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" * @param description the description of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" * @param ddl the ddl by which it should be completed","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if the deadline cannot be parsed","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" public Deadline(String description, String ddl) throws BenBenException{","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" this.ddl \u003d LocalDate.parse(ddl);","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The date and time is of the wrong format! Please use yyyy-MM-dd\");","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" return \"[D] \" + super.toString() + \" (by: \" + getDdl() + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" * Gets the deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" * @return the string representation of the deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" public String getDdl() {","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" return this.ddl.getMonth().toString() + \" \"","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" + this.ddl.getDayOfMonth() + \" \" + this.ddl.getYear();","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" * Gets formatted ddl.","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" * @return the formatted ddl","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" public String getFormattedDdl() {","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" return ddl.format(formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" public String getLog() {","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" return \"D | \" + (isDone? \"1\" : \"0\")","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.description","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.getFormattedDdl() + System.lineSeparator();","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" if (task \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" if (!(task instanceof Deadline)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" Deadline t \u003d (Deadline) task;","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":" return t.getLog().equals(this.getLog());","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":82}},{"path":"src/main/java/benben/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.ZoneId;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"import java.time.format.DateTimeParseException;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" * A type of task that ahs a start and end time","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"public class Event extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" * The Start time.","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" protected LocalDateTime startTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" * The End time.","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" protected LocalDateTime endTime;","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" * The Formatter that parses the string intO A LocalDateTime object","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" protected final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm\").withZone(ZoneId.systemDefault());","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" * Instantiates a new Event.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" * @param description the description","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" * @param startTime the start time","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" * @param endTime the end time","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if the string is of the wrong format","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" public Event(String description,String startTime, String endTime) throws BenBenException {","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" this.startTime \u003d LocalDateTime.parse(startTime, formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" this.endTime \u003d LocalDateTime.parse(endTime, formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" if (this.startTime.isAfter(this.endTime)) {","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The end time should be later than the start time!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" } catch (DateTimeParseException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The date and time is of the wrong format! Please use yyyy-MM-dd HH:mm\");","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" return \"[E] \" + super.toString() + \" (from: \" + getStartTime() + \" to: \" + getEndTime() + \")\";","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" * Gets start time.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" * @return the start time","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" public String getStartTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" return startTime.getMonth().toString()","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + startTime.getDayOfMonth()","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + startTime.getYear()","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + startTime.getHour() + \":\" + startTime.getMinute();","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" * Gets end time.","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" * @return the end time","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" public String getEndTime() {","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" return endTime.getMonth().toString()","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + endTime.getDayOfMonth()","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + endTime.getYear()","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" + \" \" + endTime.getHour() + \":\" + endTime.getMinute();","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" * Gets formatted start time","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" * @return the formatted start time","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":" public String getFormattedStart() {","lastModifiedDate":"2023-09-01"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":" return startTime.format(formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"feifeiraindrops"},"content":" * Gets formatted end time","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"feifeiraindrops"},"content":" * @return the formatted end time","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"feifeiraindrops"},"content":" public String getFormattedEnd() {","lastModifiedDate":"2023-09-01"},{"lineNumber":89,"author":{"gitId":"feifeiraindrops"},"content":" return endTime.format(formatter);","lastModifiedDate":"2023-09-01"},{"lineNumber":90,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":91,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":92,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"feifeiraindrops"},"content":" public String getLog() {","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"feifeiraindrops"},"content":" return \"E | \" + (isDone? \"1\" : \"0\")","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.description","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + getFormattedStart()","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + getFormattedEnd() + System.lineSeparator();","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"feifeiraindrops"},"content":" if (task \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"feifeiraindrops"},"content":" if (!(task instanceof Event)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"feifeiraindrops"},"content":" Event t \u003d (Event) task;","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"feifeiraindrops"},"content":" return t.getLog().equals(this.getLog());","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":114}},{"path":"src/main/java/benben/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" * The type Parser parses the comment to the action that need to be taken","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" * Parses the command and tells benben what to do next","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" * @param bb the BenBen Object","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" * @param next the command","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException if the command cannot be recognised","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" public static void parse(BenBen bb, String next) throws BenBenException{","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" boolean isParsed \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.equals(\"bye\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" bb.exit();","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.equals(\"list\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" bb.iterList();","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"mark\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" bb.mark(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"unmark\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" bb.unmark(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"todo\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" bb.todo(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"deadline\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" bb.deadline(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"event\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" bb.event(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"delete\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" bb.remove(next);","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"find\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" bb.find(next);","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed \u0026\u0026 next.startsWith(\"exit\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" bb.exit();","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" isParsed \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" if (!isParsed) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"bb does not understand your instruction:(\");","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"feifeiraindrops":75}},{"path":"src/main/java/benben/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.File;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" * The type Storage that stores, reads and rite the local file","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":"public class Storage {","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" private final String filePath;","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" private File file;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" * Instantiates a new Storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" * @param filePath the file path of the local file","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" * Writes the data from the task list to the local file","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" * @param tasks the task list","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" public void write(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" FileWriter fw \u003d new FileWriter(this.filePath);","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" String content \u003d \"\";","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" Task t \u003d tasks.get(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" content \u003d content + t.getLog();","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" fw.write(content);","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" fw.close();","lastModifiedDate":"2023-09-01"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"Failed to write to file!\" + e.getMessage());","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" * Load array list of tasks from the local file","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" * @return the array list of the tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":" * @throws BenBenException the ben ben exception","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" public ArrayList\u003cTask\u003e load() throws BenBenException {","lastModifiedDate":"2023-09-01"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" ArrayList\u003cTask\u003e list \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-09-01"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":" boolean isCreated \u003d file.createNewFile();","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" return list;","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" Scanner sc \u003d new Scanner(file);","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" while (sc.hasNext()) {","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" boolean canRead \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" String task \u003d sc.nextLine();","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":" //System.out.println(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" String[] strSplit \u003d task.split(\"\\\\|\");","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c strSplit.length; i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" strSplit[i] \u003d strSplit[i].trim();","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[0].startsWith(\"T\") \u0026\u0026 strSplit.length \u003d\u003d 3) {","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" Task nextTask \u003d new Todo(strSplit[2]);","lastModifiedDate":"2023-09-01"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[1].startsWith(\"1\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" nextTask.mark();","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":" } else if (strSplit[1].startsWith(\"0\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[0].startsWith(\"D\") \u0026\u0026 strSplit.length \u003d\u003d 4) {","lastModifiedDate":"2023-09-01"},{"lineNumber":83,"author":{"gitId":"feifeiraindrops"},"content":" Task nextTask \u003d new Deadline(strSplit[2], strSplit[3]);","lastModifiedDate":"2023-09-01"},{"lineNumber":84,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[1].startsWith(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":85,"author":{"gitId":"feifeiraindrops"},"content":" nextTask.mark();","lastModifiedDate":"2023-09-01"},{"lineNumber":86,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-01"},{"lineNumber":87,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":88,"author":{"gitId":"feifeiraindrops"},"content":" } else if (strSplit[1].startsWith(\"0\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":93,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[0].startsWith(\"E\") \u0026\u0026 strSplit.length \u003d\u003d 5) {","lastModifiedDate":"2023-09-01"},{"lineNumber":94,"author":{"gitId":"feifeiraindrops"},"content":" Task nextTask \u003d new Event(strSplit[2], strSplit[3], strSplit[4]);","lastModifiedDate":"2023-09-01"},{"lineNumber":95,"author":{"gitId":"feifeiraindrops"},"content":" if (strSplit[1].startsWith(\"1\")) {","lastModifiedDate":"2023-09-01"},{"lineNumber":96,"author":{"gitId":"feifeiraindrops"},"content":" nextTask.mark();","lastModifiedDate":"2023-09-01"},{"lineNumber":97,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-01"},{"lineNumber":98,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":99,"author":{"gitId":"feifeiraindrops"},"content":" } else if (strSplit[1].startsWith(\"0\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"feifeiraindrops"},"content":" list.add(nextTask);","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"feifeiraindrops"},"content":" canRead \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":105,"author":{"gitId":"feifeiraindrops"},"content":" if (!canRead) {","lastModifiedDate":"2023-09-01"},{"lineNumber":106,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The file content is corrupted, please report this to admin\");","lastModifiedDate":"2023-09-01"},{"lineNumber":107,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":108,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":109,"author":{"gitId":"feifeiraindrops"},"content":" sc.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"feifeiraindrops"},"content":" return list;","lastModifiedDate":"2023-09-01"},{"lineNumber":111,"author":{"gitId":"feifeiraindrops"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":112,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The local file is not found in the directory\");","lastModifiedDate":"2023-09-01"},{"lineNumber":113,"author":{"gitId":"feifeiraindrops"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-01"},{"lineNumber":114,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"IOException found!\" + e.getMessage());","lastModifiedDate":"2023-09-01"},{"lineNumber":115,"author":{"gitId":"feifeiraindrops"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"feifeiraindrops"},"content":" throw new BenBenException(\"The local file does not exits\");","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":118,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":119,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":119}},{"path":"src/main/java/benben/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"public abstract class Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":" protected String description;","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":" protected boolean isDone;","lastModifiedDate":"2023-09-01"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" public Task(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" this.description \u003d description;","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" public void mark() {","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" public void unmark() {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" public String getDescription() {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" return this.description;","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" public abstract String getLog() ;","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":33}},{"path":"src/main/java/benben/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-01"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"public class TaskList {","lastModifiedDate":"2023-08-31"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-01"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":" public TaskList() {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" tasks \u003d new ArrayList\u003cTask\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" public TaskList(ArrayList\u003cTask\u003e list) {","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" this.tasks \u003d list;","lastModifiedDate":"2023-09-01"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" public void add(Task t) {","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":" tasks.add(t);","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" public void remove(int i) {","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" tasks.remove(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" public int size() {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" return tasks.size();","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":" public Task get(int i) {","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" return tasks.get(i);","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object o) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" if (o \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" if (!(o instanceof TaskList)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" TaskList list \u003d (TaskList) o;","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":" return this.tasks.equals(list.tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"feifeiraindrops":45}},{"path":"src/main/java/benben/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.Objects;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":" * A type of tasks that only has a description","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" * Instantiates a new Todo.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" * @param description the description","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" public Todo(String description) {","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" super(description);","lastModifiedDate":"2023-09-01"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" public String toString() {","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" return \"[T] \" + super.toString();","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" public String getLog() {","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" return \"T | \" + (isDone? \"1\" : \"0\")","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" + \" | \" + this.description + System.lineSeparator();","lastModifiedDate":"2023-09-01"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" public boolean equals(Object task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" if (task \u003d\u003d this) {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":" if (!(task instanceof Todo)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" Todo t \u003d (Todo) task;","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" return Objects.equals(t.getLog(), this.getLog());","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-01"}],"authorContributionMap":{"feifeiraindrops":42}},{"path":"src/main/java/benben/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"public class Ui {","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":" private static final String LINE \u003d\"_______________________________________\\n\";","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":8,"author":{"gitId":"feifeiraindrops"},"content":" public Ui() {","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":10,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":11,"author":{"gitId":"feifeiraindrops"},"content":" public void show(String message) {","lastModifiedDate":"2023-09-01"},{"lineNumber":12,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(message);","lastModifiedDate":"2023-09-01"},{"lineNumber":14,"author":{"gitId":"feifeiraindrops"},"content":" System.out.print(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"feifeiraindrops"},"content":" public void showExit() {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Bye. Hope to see you again soon!\\n\" + LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":21,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":22,"author":{"gitId":"feifeiraindrops"},"content":" public void showLoadingError() {","lastModifiedDate":"2023-09-01"},{"lineNumber":23,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"An error occurred while we are loading your task list! A new list has been generated!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":25,"author":{"gitId":"feifeiraindrops"},"content":" System.out.print(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"feifeiraindrops"},"content":" public void showWelcome() {","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Hello! I\u0027m BenBen.\\n\" +","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"feifeiraindrops"},"content":" \"What can I do for you?\");","lastModifiedDate":"2023-09-01"},{"lineNumber":32,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":34,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":35,"author":{"gitId":"feifeiraindrops"},"content":" public void showAdd(String msg, int size) {","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Got it. I\u0027ve added this task:\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":39,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Now you have \" + size + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":40,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":42,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":43,"author":{"gitId":"feifeiraindrops"},"content":" public void showRemove(String msg, int size) {","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Noted. I\u0027ve removed this task:\\n\");","lastModifiedDate":"2023-09-01"},{"lineNumber":46,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":47,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Now you have \" + size + \" tasks in the list.\");","lastModifiedDate":"2023-09-01"},{"lineNumber":48,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":51,"author":{"gitId":"feifeiraindrops"},"content":" public void showUnmark(String msg) {","lastModifiedDate":"2023-09-01"},{"lineNumber":52,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n\" +","lastModifiedDate":"2023-09-01"},{"lineNumber":54,"author":{"gitId":"feifeiraindrops"},"content":" \" \" + msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":55,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":57,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"feifeiraindrops"},"content":" public void showMark(String msg) {","lastModifiedDate":"2023-09-01"},{"lineNumber":59,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"OK, I\u0027ve marked this task as not done yet:\\n\" +","lastModifiedDate":"2023-09-01"},{"lineNumber":61,"author":{"gitId":"feifeiraindrops"},"content":" \" \" + msg);","lastModifiedDate":"2023-09-01"},{"lineNumber":62,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":64,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":65,"author":{"gitId":"feifeiraindrops"},"content":" public void showList(TaskList tasks) {","lastModifiedDate":"2023-09-01"},{"lineNumber":66,"author":{"gitId":"feifeiraindrops"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-09-01"},{"lineNumber":67,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Your list is currently empty! Add a new task now!\");","lastModifiedDate":"2023-09-01"},{"lineNumber":69,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-01"},{"lineNumber":71,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Here are the tasks in your list:\");","lastModifiedDate":"2023-09-01"},{"lineNumber":73,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-01"},{"lineNumber":74,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println((i + 1) + \".\" + tasks.get(i).toString());","lastModifiedDate":"2023-09-01"},{"lineNumber":75,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":76,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(LINE);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":78,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":79,"author":{"gitId":"feifeiraindrops"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"feifeiraindrops"},"content":" public void showMatching(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"feifeiraindrops"},"content":" if (tasks.size() \u003d\u003d 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"There is no matching tasks! Try another keyword?\");","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"feifeiraindrops"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(\"Here are the matching tasks in your list:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"feifeiraindrops"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println((i + 1) + \".\" + tasks.get(i).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"feifeiraindrops"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"feifeiraindrops"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"feifeiraindrops":94}},{"path":"src/main/java/tasks.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"D | 0 | ip | 2023-08-31","lastModifiedDate":"2023-09-01"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"E | 1 | meeting | 2023-09-01 10:00 | 2023-09-01 12:00","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"T | 0 | eat vitamins","lastModifiedDate":"2023-09-01"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"T | 0 | eat fruits","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":4}},{"path":"src/main/java/test-1.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"D | 0 | ip | 2023-08-31","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":1}},{"path":"src/test/java/benben/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;public class StorageTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":2}},{"path":"src/test/java/benben/TaskListTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"package benben;public class TaskListTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"feifeiraindrops":2}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"feifeiraindrops"},"content":"todo leetcode","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"feifeiraindrops"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"feifeiraindrops"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"feifeiraindrops"},"content":"mark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"feifeiraindrops"},"content":"mark 3","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"feifeiraindrops"},"content":"unmark 1","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"feifeiraindrops"},"content":"list","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"feifeiraindrops":7}},{"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":"feifeiraindrops"},"content":"java -classpath ..\\bin BenBen \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-23"},{"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":{"feifeiraindrops":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":"feifeiraindrops"},"content":"java -classpath ../bin BenBen \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-23"},{"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":{"feifeiraindrops":1,"-":37}}] diff --git a/feifeiraindrops_ip_master/commits.json b/feifeiraindrops_ip_master/commits.json index fdde9ce3..aa8ea2aa 100644 --- a/feifeiraindrops_ip_master/commits.json +++ b/feifeiraindrops_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"feifeiraindrops":[{"date":"2023-08-23","commitResults":[{"hash":"6a57b9669c2a7e908148cd7e06b9fa40d147c4b1","isMergeCommit":false,"messageTitle":"\"Renamed the bot and changed greeting msg\"","messageBody":"","tags":["Level-1","Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":10},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"b7efbc7834b7a3fa102ddae512fb22004e7372a0","isMergeCommit":false,"messageTitle":"echo","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":2}}},{"hash":"e74546b752c3c3bfac8a37aacd2a6230973b2e03","isMergeCommit":false,"messageTitle":"list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":18}}},{"hash":"b88805b3864123c9ceb5ad5197abc62590fbfa33","isMergeCommit":false,"messageTitle":"mark and unmark","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":1}}},{"hash":"e7b4b0c948e7f92a924cba0bd66526146342d457","isMergeCommit":false,"messageTitle":"added task class","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":26}}},{"hash":"d470452b27d0504e064e02b5f31d97ec231b7c4c","isMergeCommit":false,"messageTitle":"added different types of tasks","messageBody":"","tags":["Level-4","A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":139,"deletions":1}}},{"hash":"90f89e52ee412a1343483349a0d3bdd3c1cfe21b","isMergeCommit":false,"messageTitle":"automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"e487b0d341d163a1460737dd3f1ade22547111af","isMergeCommit":false,"messageTitle":"Exception handling","messageBody":"","tags":["Level-5","A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":117,"deletions":66}}},{"hash":"acfdc9a0d164f8521674f78958680ac495b10eab","isMergeCommit":false,"messageTitle":"added deleting feature, replaces array with arraylist","messageBody":"","tags":["Level-6","A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":10}}}]},{"date":"2023-08-31","commitResults":[{"hash":"e13d2c7782bdad7935c2f84ff2aa6cd44f29d91c","isMergeCommit":false,"messageTitle":"Read and write from local files","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0},"java":{"insertions":142,"deletions":12}}},{"hash":"9f0a2670ecfa7ec3f0a3a207fe695d3a9dbacde6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"1532769b38f3bbd0e2f34f617ac7eb2ce8ebeeb6","isMergeCommit":false,"messageTitle":"used date and time","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":6},"java":{"insertions":55,"deletions":18}}},{"hash":"305970c5a2d4d787ea2fb547609ff834bcd5d4e7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"17b9a6117f8b64b7961711cb234c5542a41f967d","isMergeCommit":false,"messageTitle":"created new class files","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":0}}}]},{"date":"2023-09-01","commitResults":[{"hash":"9aa060fb4efe2ed0cce86a0c522ea76e3ed416e0","isMergeCommit":false,"messageTitle":"added more oop","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3},"java":{"insertions":969,"deletions":365}}},{"hash":"c565205ddae58a2315d15e322b60b53838aeece5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Moreoop\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"c62074f3e78f2e476b017af1fc014ad78d7b2d70","isMergeCommit":false,"messageTitle":"added to package","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":11,"deletions":0}}},{"hash":"945d8c82504384a05a5c8444e9fd2b61c609617a","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c8b290deee5c3399e51127d9b585de20d63fdce7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-02","commitResults":[{"hash":"ed363e392be4c1346662227059e68f38791ecb32","isMergeCommit":false,"messageTitle":"Add unit testing","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":320,"deletions":770}}}]}]},"authorFileTypeContributionMap":{"feifeiraindrops":{"java":718,"md":2,"fxml":0,"sh":1,"bat":1,"gradle":0,"txt":11}},"authorContributionVariance":{"feifeiraindrops":162651.69},"authorDisplayNameMap":{"feifeiraindrops":"CS2103T-W08-2 SUN ..UFEI"}} +{"authorDailyContributionsMap":{"feifeiraindrops":[{"date":"2023-08-23","commitResults":[{"hash":"6a57b9669c2a7e908148cd7e06b9fa40d147c4b1","isMergeCommit":false,"messageTitle":"\"Renamed the bot and changed greeting msg\"","messageBody":"","tags":["Level-1","Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":10},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"b7efbc7834b7a3fa102ddae512fb22004e7372a0","isMergeCommit":false,"messageTitle":"echo","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":2}}},{"hash":"e74546b752c3c3bfac8a37aacd2a6230973b2e03","isMergeCommit":false,"messageTitle":"list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":18}}},{"hash":"b88805b3864123c9ceb5ad5197abc62590fbfa33","isMergeCommit":false,"messageTitle":"mark and unmark","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":1}}},{"hash":"e7b4b0c948e7f92a924cba0bd66526146342d457","isMergeCommit":false,"messageTitle":"added task class","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":26}}},{"hash":"d470452b27d0504e064e02b5f31d97ec231b7c4c","isMergeCommit":false,"messageTitle":"added different types of tasks","messageBody":"","tags":["Level-4","A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":139,"deletions":1}}},{"hash":"90f89e52ee412a1343483349a0d3bdd3c1cfe21b","isMergeCommit":false,"messageTitle":"automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"e487b0d341d163a1460737dd3f1ade22547111af","isMergeCommit":false,"messageTitle":"Exception handling","messageBody":"","tags":["Level-5","A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":117,"deletions":66}}},{"hash":"acfdc9a0d164f8521674f78958680ac495b10eab","isMergeCommit":false,"messageTitle":"added deleting feature, replaces array with arraylist","messageBody":"","tags":["Level-6","A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":10}}}]},{"date":"2023-08-31","commitResults":[{"hash":"e13d2c7782bdad7935c2f84ff2aa6cd44f29d91c","isMergeCommit":false,"messageTitle":"Read and write from local files","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":6,"deletions":0},"java":{"insertions":142,"deletions":12}}},{"hash":"9f0a2670ecfa7ec3f0a3a207fe695d3a9dbacde6","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"1532769b38f3bbd0e2f34f617ac7eb2ce8ebeeb6","isMergeCommit":false,"messageTitle":"used date and time","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":6},"java":{"insertions":55,"deletions":18}}},{"hash":"305970c5a2d4d787ea2fb547609ff834bcd5d4e7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"17b9a6117f8b64b7961711cb234c5542a41f967d","isMergeCommit":false,"messageTitle":"created new class files","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":0}}}]},{"date":"2023-09-01","commitResults":[{"hash":"9aa060fb4efe2ed0cce86a0c522ea76e3ed416e0","isMergeCommit":false,"messageTitle":"added more oop","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3},"java":{"insertions":969,"deletions":365}}},{"hash":"c565205ddae58a2315d15e322b60b53838aeece5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Moreoop\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"c62074f3e78f2e476b017af1fc014ad78d7b2d70","isMergeCommit":false,"messageTitle":"added to package","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":11,"deletions":0}}},{"hash":"945d8c82504384a05a5c8444e9fd2b61c609617a","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c8b290deee5c3399e51127d9b585de20d63fdce7","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}}]},{"date":"2023-09-02","commitResults":[{"hash":"ed363e392be4c1346662227059e68f38791ecb32","isMergeCommit":false,"messageTitle":"Add unit testing","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":320,"deletions":770}}},{"hash":"0dd13c271dc9ad0ea1998873ced060c1db01f22e","isMergeCommit":false,"messageTitle":"Add javadoc","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1},"java":{"insertions":179,"deletions":12}}},{"hash":"b1478c1a2fa7eb454f710178c0dc0c1f8ab4de45","isMergeCommit":false,"messageTitle":"Improve code quality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":36}}},{"hash":"3435e930ca55358f05b5978e691a2318b6c3de97","isMergeCommit":false,"messageTitle":"Add find function","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":79,"deletions":42}}},{"hash":"9ef34c56bd298e6537f48629ef68a2b215d3355a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"6c0714fcd0568e0cbd816ee00243593c4da4e52d","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"24f0ca731e58bf0139100797ef1134c8d4907df1","isMergeCommit":true,"messageTitle":"Fix merge conflicts","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"feifeiraindrops":{"java":920,"md":2,"fxml":0,"sh":1,"bat":1,"gradle":0,"txt":12}},"authorContributionVariance":{"feifeiraindrops":214714.25},"authorDisplayNameMap":{"feifeiraindrops":"CS2103T-W08-2 SUN ..UFEI"}} diff --git a/felibunnyy_ip_master/commits.json b/felibunnyy_ip_master/commits.json index 30d7d8de..ca676bf2 100644 --- a/felibunnyy_ip_master/commits.json +++ b/felibunnyy_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"felibunnyy":[]},"authorFileTypeContributionMap":{"felibunnyy":{"java":0,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"felibunnyy":0.0},"authorDisplayNameMap":{"felibunnyy":"FELI..N YI"}} +{"authorDailyContributionsMap":{"felibunnyy":[]},"authorFileTypeContributionMap":{"felibunnyy":{"java":0,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"felibunnyy":0.0},"authorDisplayNameMap":{"felibunnyy":"CS2103-F13-3 FELI..N YI"}} diff --git a/geoffong11_ip_master/commits.json b/geoffong11_ip_master/commits.json index ce81a6b1..a777142b 100644 --- a/geoffong11_ip_master/commits.json +++ b/geoffong11_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"geoffong11":[{"date":"2023-08-19","commitResults":[{"hash":"94a08b00238189098da9ecfe9546ddd299ed8cb0","isMergeCommit":false,"messageTitle":"Level 0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":10},"bat":{"insertions":21,"deletions":21},"sh":{"insertions":37,"deletions":37},"md":{"insertions":62,"deletions":62}}}]},{"date":"2023-08-20","commitResults":[{"hash":"d837e6435b5830a7bec3dd31921af71da8608005","isMergeCommit":false,"messageTitle":"level-0","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"ececccbe2b03a181cb52c405ecd2ae781f04d83a","isMergeCommit":false,"messageTitle":"level-1","messageBody":"","tags":["level-1"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":1}}},{"hash":"1f1c13e6ab7504f4df1859320db799b845f5489a","isMergeCommit":false,"messageTitle":"level-2","messageBody":"","tags":["level-2"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":1}}},{"hash":"4e3ac2df7618cfc1ae9b9ac700e2973c84c3025b","isMergeCommit":false,"messageTitle":"level-3","messageBody":"","tags":["level-3"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":2}}},{"hash":"5c612bd67165c112b1dd8853ed8c8c8226684dd5","isMergeCommit":false,"messageTitle":"level-4","messageBody":"","tags":["level-4"],"fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":8}}}]},{"date":"2023-08-22","commitResults":[{"hash":"11abfd5ab99e391cd280fc43d97518105b8c465a","isMergeCommit":false,"messageTitle":"level-5","messageBody":"","tags":["level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":160,"deletions":64}}},{"hash":"13f0a3fd1c400ed4b6402b46cd76627549335206","isMergeCommit":false,"messageTitle":"level-6","messageBody":"","tags":["level-6"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"ea7b89e4e555f41d5a165476d546a7e636ede768","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1}}}]},{"date":"2023-08-27","commitResults":[{"hash":"468505203ce7a4ae1ccf29b588d0569d3132a534","isMergeCommit":false,"messageTitle":"finish the general loading and writing of files","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":101,"deletions":10}}},{"hash":"81f6ddd7a001cb3f7065713f060d99b53d143600","isMergeCommit":false,"messageTitle":"finish marking and unmarking of files in storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":104,"deletions":68}}},{"hash":"62e97d2e9c126d0100add65a88166745f50461a5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"12ee9c06b2d25b7e120a807133a76413a41d5723","isMergeCommit":false,"messageTitle":"level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":33}}},{"hash":"c2c1dc1d0b08157a68296ace60ab7282436dd22e","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"32d5d8327fa1427bed6a7d768b5ff2cab807cb01","isMergeCommit":false,"messageTitle":"add ui","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":3}}}]},{"date":"2023-08-28","commitResults":[{"hash":"5ddd08851aed98a9365676869c98aba8821a84cb","isMergeCommit":false,"messageTitle":"more OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":4}}},{"hash":"57df803292915f7104fa6eab5f73eac4cb51fb28","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"db45908528bd17d5859f62194a33fffbdbfa0cf9","isMergeCommit":false,"messageTitle":"add gradle build","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":25}}},{"hash":"9452b97acdb51a1efdbb2892c1ba3b864a074998","isMergeCommit":false,"messageTitle":"packaging","messageBody":"","tags":["A-Packages","A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":573,"deletions":524}}}]},{"date":"2023-08-29","commitResults":[{"hash":"f27ccd6f4845d95e7173b6fce35759efe77e2c02","isMergeCommit":false,"messageTitle":"give Ui more things to do","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":66,"deletions":64}}},{"hash":"3afdf61c01398cc7a93a24713d58eace0e58a057","isMergeCommit":true,"messageTitle":"Merge branch \u0027javadoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"49a29527a3e39c072b2298b43ccbea4e4ef4a8e1","isMergeCommit":false,"messageTitle":"updating OOP","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":6}}},{"hash":"f516f086e7cf0593d61bcfce9dcf9970f8c9628a","isMergeCommit":false,"messageTitle":"test merge","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":6}}},{"hash":"087032d1dc3c2118734089d4824285db62371a29","isMergeCommit":true,"messageTitle":"resolved","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"09fb4f6c2828ff3e3b1692bee1a955eaf7567504","isMergeCommit":false,"messageTitle":"level 9","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":177,"deletions":57}}},{"hash":"f47c2329056bcaf4c886186d46ba219f5129ed5f","isMergeCommit":true,"messageTitle":"Merge branch \u0027level-9\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"270ac0a17670d1b8ad461417d552f31008cecf87","isMergeCommit":false,"messageTitle":"updating comments","messageBody":"","tags":["level-9","A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":3}}},{"hash":"71e313b48d8e9c88842caa7758de92a1e209a3e7","isMergeCommit":false,"messageTitle":"coding standards","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":15}}}]}]},"authorFileTypeContributionMap":{"geoffong11":{"java":782,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":4}},"authorContributionVariance":{"geoffong11":107887.74},"authorDisplayNameMap":{"geoffong11":"ONG ..EOFF"}} +{"authorDailyContributionsMap":{"geoffong11":[{"date":"2023-08-19","commitResults":[{"hash":"94a08b00238189098da9ecfe9546ddd299ed8cb0","isMergeCommit":false,"messageTitle":"Level 0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":10},"bat":{"insertions":21,"deletions":21},"sh":{"insertions":37,"deletions":37},"md":{"insertions":62,"deletions":62}}}]},{"date":"2023-08-20","commitResults":[{"hash":"d837e6435b5830a7bec3dd31921af71da8608005","isMergeCommit":false,"messageTitle":"level-0","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"ececccbe2b03a181cb52c405ecd2ae781f04d83a","isMergeCommit":false,"messageTitle":"level-1","messageBody":"","tags":["level-1"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":1}}},{"hash":"1f1c13e6ab7504f4df1859320db799b845f5489a","isMergeCommit":false,"messageTitle":"level-2","messageBody":"","tags":["level-2"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":1}}},{"hash":"4e3ac2df7618cfc1ae9b9ac700e2973c84c3025b","isMergeCommit":false,"messageTitle":"level-3","messageBody":"","tags":["level-3"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":2}}},{"hash":"5c612bd67165c112b1dd8853ed8c8c8226684dd5","isMergeCommit":false,"messageTitle":"level-4","messageBody":"","tags":["level-4"],"fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":8}}}]},{"date":"2023-08-22","commitResults":[{"hash":"11abfd5ab99e391cd280fc43d97518105b8c465a","isMergeCommit":false,"messageTitle":"level-5","messageBody":"","tags":["level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":160,"deletions":64}}},{"hash":"13f0a3fd1c400ed4b6402b46cd76627549335206","isMergeCommit":false,"messageTitle":"level-6","messageBody":"","tags":["level-6"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"ea7b89e4e555f41d5a165476d546a7e636ede768","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1}}}]},{"date":"2023-08-27","commitResults":[{"hash":"468505203ce7a4ae1ccf29b588d0569d3132a534","isMergeCommit":false,"messageTitle":"finish the general loading and writing of files","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":101,"deletions":10}}},{"hash":"81f6ddd7a001cb3f7065713f060d99b53d143600","isMergeCommit":false,"messageTitle":"finish marking and unmarking of files in storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":104,"deletions":68}}},{"hash":"62e97d2e9c126d0100add65a88166745f50461a5","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"12ee9c06b2d25b7e120a807133a76413a41d5723","isMergeCommit":false,"messageTitle":"level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":33}}},{"hash":"c2c1dc1d0b08157a68296ace60ab7282436dd22e","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"32d5d8327fa1427bed6a7d768b5ff2cab807cb01","isMergeCommit":false,"messageTitle":"add ui","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":3}}}]},{"date":"2023-08-28","commitResults":[{"hash":"5ddd08851aed98a9365676869c98aba8821a84cb","isMergeCommit":false,"messageTitle":"more OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":4}}},{"hash":"57df803292915f7104fa6eab5f73eac4cb51fb28","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"db45908528bd17d5859f62194a33fffbdbfa0cf9","isMergeCommit":false,"messageTitle":"add gradle build","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":25}}},{"hash":"9452b97acdb51a1efdbb2892c1ba3b864a074998","isMergeCommit":false,"messageTitle":"packaging","messageBody":"","tags":["A-Packages","A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":573,"deletions":524}}}]},{"date":"2023-08-29","commitResults":[{"hash":"f27ccd6f4845d95e7173b6fce35759efe77e2c02","isMergeCommit":false,"messageTitle":"give Ui more things to do","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"java":{"insertions":66,"deletions":64}}},{"hash":"3afdf61c01398cc7a93a24713d58eace0e58a057","isMergeCommit":true,"messageTitle":"Merge branch \u0027javadoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"49a29527a3e39c072b2298b43ccbea4e4ef4a8e1","isMergeCommit":false,"messageTitle":"updating OOP","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":6}}},{"hash":"f516f086e7cf0593d61bcfce9dcf9970f8c9628a","isMergeCommit":false,"messageTitle":"test merge","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":6}}},{"hash":"087032d1dc3c2118734089d4824285db62371a29","isMergeCommit":true,"messageTitle":"resolved","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"09fb4f6c2828ff3e3b1692bee1a955eaf7567504","isMergeCommit":false,"messageTitle":"level 9","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":177,"deletions":57}}},{"hash":"f47c2329056bcaf4c886186d46ba219f5129ed5f","isMergeCommit":true,"messageTitle":"Merge branch \u0027level-9\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"270ac0a17670d1b8ad461417d552f31008cecf87","isMergeCommit":false,"messageTitle":"updating comments","messageBody":"","tags":["level-9","A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":3}}},{"hash":"71e313b48d8e9c88842caa7758de92a1e209a3e7","isMergeCommit":false,"messageTitle":"coding standards","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":15}}}]}]},"authorFileTypeContributionMap":{"geoffong11":{"java":782,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":4}},"authorContributionVariance":{"geoffong11":107887.74},"authorDisplayNameMap":{"geoffong11":"CS2103-F13-1 ONG ..EOFF"}} diff --git a/imkwokyong_ip_master/commits.json b/imkwokyong_ip_master/commits.json index 9eedc5d9..56049e89 100644 --- a/imkwokyong_ip_master/commits.json +++ b/imkwokyong_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"imkwokyong":[{"date":"2023-08-18","commitResults":[{"hash":"b0523d726aeba985b468ac205488adcc1bb6e76a","isMergeCommit":false,"messageTitle":"Implement initial skeletal version","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":6}}},{"hash":"dd3514001a9e7e821dbf7b1eca916616dd7113c8","isMergeCommit":false,"messageTitle":"Add Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":4}}},{"hash":"89e8ff0e01b396c3f833d449fa67494484de8333","isMergeCommit":false,"messageTitle":"Add ability to store and display text","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}}]},{"date":"2023-08-20","commitResults":[{"hash":"7b75c2b83e6f78952e76cfdf7da6867af04adf42","isMergeCommit":false,"messageTitle":"[Level-3] Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":8}}},{"hash":"e725a948804de994801fd56b950e0f2390d2e964","isMergeCommit":false,"messageTitle":"Add Deadline.java, Event.java, ToDo.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":0}}},{"hash":"87a5a5e164414be0529f850e6291e19b9c87408d","isMergeCommit":false,"messageTitle":"[Level-4] ToDo, Event, Deadline","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":13}}},{"hash":"80528968fb38b2138cd001d6835e34b672cf3d1a","isMergeCommit":false,"messageTitle":"[A-TextUiTesting] Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"java":{"insertions":1,"deletions":1}}},{"hash":"9ec9fdcd5f01459bf02e0ec9fb968db600a0941b","isMergeCommit":false,"messageTitle":"[Level-5] Handle Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":46}}},{"hash":"624c7f7009e1f0fba8eb3914617d936d36d9ac4b","isMergeCommit":false,"messageTitle":"[Level-6] Delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"b00dd809cfaff11155064aa5e477e62273c1e57d","isMergeCommit":false,"messageTitle":"Add missing space","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"a15018fee81b7fa158e892d8ef40f9537bc30c61","isMergeCommit":false,"messageTitle":"Modify test case to check for exceptions and deletions","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0}}},{"hash":"c26dbfc946a3704b529cd135ec97f41636e31505","isMergeCommit":false,"messageTitle":"Modify code for conciseness and add extra exceptions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":38}}},{"hash":"a7b61ebb66d462545b7a34f8187ff46d5fe8be25","isMergeCommit":false,"messageTitle":"Modify test case to account for added exceptions","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"171550fdd3739fbe0a6851ac05d81d159fbc2b47","isMergeCommit":false,"messageTitle":"Fix indentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"d7765d363484e6b15781080cd8cac49b88590eaa","isMergeCommit":false,"messageTitle":"Add constructor overloading for Task.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":2}}},{"hash":"95557ca86a053555e8862d3fc6472e14b844aa57","isMergeCommit":false,"messageTitle":"Add string method for easy write access to file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":12}}},{"hash":"05c1586a135d1903d5aec704dbebcd05f4d1fbf4","isMergeCommit":false,"messageTitle":"Add Save function for Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":127,"deletions":38}}},{"hash":"6fcba5d6c9b8582aef0526a1843c747f491b9614","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"cabd2fbaa4f6633537a0cb7e72939abad001b81d","isMergeCommit":false,"messageTitle":"Remove unintended debugging print statement","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":3}}},{"hash":"fed068161ae0636ab48580891a52c033f35d924d","isMergeCommit":false,"messageTitle":"Add Dates and Times functionality for Level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":4}}},{"hash":"08ef75ae50310717ef706bcb412473256257d164","isMergeCommit":false,"messageTitle":"Update test case","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1}}},{"hash":"53c5af3c38cd63b5f02f5d3b0595c561fb5b8f30","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"4a99d82433cfd481aac338ea162a1c4d1c8b1f89","isMergeCommit":false,"messageTitle":"Add abstract class Command.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"8d5f040e768c96664a9c1d7669ceb19e20c26e9e","isMergeCommit":false,"messageTitle":"Modify createList method in Storage class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":23}}},{"hash":"00c2eaba9ba4503d74a3a7b3736189cf8cb2f3b3","isMergeCommit":false,"messageTitle":"Modify code to be more OOP","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"java":{"insertions":318,"deletions":129}}},{"hash":"2da0ce47d1d61d743fdef868430ecd11d8755aa2","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"0132ac167b92df7445a96547d12f585db185e1e8","isMergeCommit":false,"messageTitle":"Organize the classes into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":203,"deletions":90},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"42dc44cbd990f0d0d263391d4e9d17e65354e0ae","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 of https://github.com/imkwokyong/ip into branch-A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"18fecae250e1a8f146094e246d264f2e0ea7a51f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"18c7038a2acbb252a61507664e4f34a27ccd93e8","isMergeCommit":false,"messageTitle":"Update main class filepath","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"313bd58c12b24ac60654c1817296ab0ecc5bcd50","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"27d4b597243c63a567e4c12f69c0f869774cfa37","isMergeCommit":false,"messageTitle":"Handle more exceptions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":17}}}]},{"date":"2023-08-29","commitResults":[{"hash":"f2a7ace85dd84a77d4c0a0704a78691899f633d8","isMergeCommit":false,"messageTitle":"Add JUnit tests for Deadline and Event class","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":0}}},{"hash":"a445eadd313c4b94e30bf595d83c6f712a6b409e","isMergeCommit":false,"messageTitle":"Add JavaDoc comments","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":239,"deletions":5}}},{"hash":"9de97deb08ce350792df874d37f2839a18adf1e8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"5b5ff7acb6ce73b2ec1e146addf0ea57321b6084","isMergeCommit":false,"messageTitle":"Add Find functionality for Level-9","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":45,"deletions":0}}},{"hash":"060bf8830c0e9ffbc13e80033ec03029412c33b3","isMergeCommit":true,"messageTitle":"Merge \u0027branch-Level-9\u0027 to master after fixing merge conflicts","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"55a7c36760765118b50965d9dbdff709171f3891","isMergeCommit":false,"messageTitle":"Fix spacing inconsistencies","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":1}}},{"hash":"d91e4b707789c5d037defb15ee75e3c19d4995e0","isMergeCommit":false,"messageTitle":"Add JavaDoc comments to new methods and classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":0}}},{"hash":"14a831adccef9f92d337d3ee43a04b1d642d8887","isMergeCommit":false,"messageTitle":"Add checkstyle config","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":5,"deletions":0}}},{"hash":"7e0d83db1e114fc72836ffec5c4aadb9a591597f","isMergeCommit":false,"messageTitle":"Adhere to checkstyle requirements","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":123,"deletions":31}}},{"hash":"80325ce843aa932a2d3fcd3b815fa453ac3de0ea","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"5011e5c8161d52f8b1cfe5b61efc6c8bc7f1e31d","isMergeCommit":false,"messageTitle":"Fix minor typos and issues","messageBody":"","tags":["A-CheckStyle"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5}}}]}]},"authorFileTypeContributionMap":{"imkwokyong":{"java":1101,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":6,"txt":23}},"authorContributionVariance":{"imkwokyong":65360.855},"authorDisplayNameMap":{"imkwokyong":"KUAN..YONG"}} +{"authorDailyContributionsMap":{"imkwokyong":[{"date":"2023-08-18","commitResults":[{"hash":"b0523d726aeba985b468ac205488adcc1bb6e76a","isMergeCommit":false,"messageTitle":"Implement initial skeletal version","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":6}}},{"hash":"dd3514001a9e7e821dbf7b1eca916616dd7113c8","isMergeCommit":false,"messageTitle":"Add Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":4}}},{"hash":"89e8ff0e01b396c3f833d449fa67494484de8333","isMergeCommit":false,"messageTitle":"Add ability to store and display text","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":1}}}]},{"date":"2023-08-20","commitResults":[{"hash":"7b75c2b83e6f78952e76cfdf7da6867af04adf42","isMergeCommit":false,"messageTitle":"[Level-3] Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":8}}},{"hash":"e725a948804de994801fd56b950e0f2390d2e964","isMergeCommit":false,"messageTitle":"Add Deadline.java, Event.java, ToDo.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":0}}},{"hash":"87a5a5e164414be0529f850e6291e19b9c87408d","isMergeCommit":false,"messageTitle":"[Level-4] ToDo, Event, Deadline","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":13}}},{"hash":"80528968fb38b2138cd001d6835e34b672cf3d1a","isMergeCommit":false,"messageTitle":"[A-TextUiTesting] Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"java":{"insertions":1,"deletions":1}}},{"hash":"9ec9fdcd5f01459bf02e0ec9fb968db600a0941b","isMergeCommit":false,"messageTitle":"[Level-5] Handle Errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":46}}},{"hash":"624c7f7009e1f0fba8eb3914617d936d36d9ac4b","isMergeCommit":false,"messageTitle":"[Level-6] Delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"b00dd809cfaff11155064aa5e477e62273c1e57d","isMergeCommit":false,"messageTitle":"Add missing space","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"a15018fee81b7fa158e892d8ef40f9537bc30c61","isMergeCommit":false,"messageTitle":"Modify test case to check for exceptions and deletions","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0}}},{"hash":"c26dbfc946a3704b529cd135ec97f41636e31505","isMergeCommit":false,"messageTitle":"Modify code for conciseness and add extra exceptions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":38}}},{"hash":"a7b61ebb66d462545b7a34f8187ff46d5fe8be25","isMergeCommit":false,"messageTitle":"Modify test case to account for added exceptions","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0}}}]},{"date":"2023-08-27","commitResults":[{"hash":"171550fdd3739fbe0a6851ac05d81d159fbc2b47","isMergeCommit":false,"messageTitle":"Fix indentation","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"d7765d363484e6b15781080cd8cac49b88590eaa","isMergeCommit":false,"messageTitle":"Add constructor overloading for Task.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":2}}},{"hash":"95557ca86a053555e8862d3fc6472e14b844aa57","isMergeCommit":false,"messageTitle":"Add string method for easy write access to file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":12}}},{"hash":"05c1586a135d1903d5aec704dbebcd05f4d1fbf4","isMergeCommit":false,"messageTitle":"Add Save function for Level-7","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":127,"deletions":38}}},{"hash":"6fcba5d6c9b8582aef0526a1843c747f491b9614","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"cabd2fbaa4f6633537a0cb7e72939abad001b81d","isMergeCommit":false,"messageTitle":"Remove unintended debugging print statement","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":3}}},{"hash":"fed068161ae0636ab48580891a52c033f35d924d","isMergeCommit":false,"messageTitle":"Add Dates and Times functionality for Level-8","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":4}}},{"hash":"08ef75ae50310717ef706bcb412473256257d164","isMergeCommit":false,"messageTitle":"Update test case","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":1}}},{"hash":"53c5af3c38cd63b5f02f5d3b0595c561fb5b8f30","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"4a99d82433cfd481aac338ea162a1c4d1c8b1f89","isMergeCommit":false,"messageTitle":"Add abstract class Command.java","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":0}}},{"hash":"8d5f040e768c96664a9c1d7669ceb19e20c26e9e","isMergeCommit":false,"messageTitle":"Modify createList method in Storage class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":23}}},{"hash":"00c2eaba9ba4503d74a3a7b3736189cf8cb2f3b3","isMergeCommit":false,"messageTitle":"Modify code to be more OOP","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0},"java":{"insertions":318,"deletions":129}}},{"hash":"2da0ce47d1d61d743fdef868430ecd11d8755aa2","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-28","commitResults":[{"hash":"0132ac167b92df7445a96547d12f585db185e1e8","isMergeCommit":false,"messageTitle":"Organize the classes into packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":203,"deletions":90},"bat":{"insertions":1,"deletions":1},"md":{"insertions":2,"deletions":2}}},{"hash":"42dc44cbd990f0d0d263391d4e9d17e65354e0ae","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 of https://github.com/imkwokyong/ip into branch-A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"18fecae250e1a8f146094e246d264f2e0ea7a51f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"18c7038a2acbb252a61507664e4f34a27ccd93e8","isMergeCommit":false,"messageTitle":"Update main class filepath","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"313bd58c12b24ac60654c1817296ab0ecc5bcd50","isMergeCommit":false,"messageTitle":"Fix grammar","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"27d4b597243c63a567e4c12f69c0f869774cfa37","isMergeCommit":false,"messageTitle":"Handle more exceptions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":17}}}]},{"date":"2023-08-29","commitResults":[{"hash":"f2a7ace85dd84a77d4c0a0704a78691899f633d8","isMergeCommit":false,"messageTitle":"Add JUnit tests for Deadline and Event class","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":0}}},{"hash":"a445eadd313c4b94e30bf595d83c6f712a6b409e","isMergeCommit":false,"messageTitle":"Add JavaDoc comments","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":239,"deletions":5}}},{"hash":"9de97deb08ce350792df874d37f2839a18adf1e8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"5b5ff7acb6ce73b2ec1e146addf0ea57321b6084","isMergeCommit":false,"messageTitle":"Add Find functionality for Level-9","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":45,"deletions":0}}},{"hash":"060bf8830c0e9ffbc13e80033ec03029412c33b3","isMergeCommit":true,"messageTitle":"Merge \u0027branch-Level-9\u0027 to master after fixing merge conflicts","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}},{"hash":"55a7c36760765118b50965d9dbdff709171f3891","isMergeCommit":false,"messageTitle":"Fix spacing inconsistencies","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":1}}},{"hash":"d91e4b707789c5d037defb15ee75e3c19d4995e0","isMergeCommit":false,"messageTitle":"Add JavaDoc comments to new methods and classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":0}}},{"hash":"14a831adccef9f92d337d3ee43a04b1d642d8887","isMergeCommit":false,"messageTitle":"Add checkstyle config","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":5,"deletions":0}}},{"hash":"7e0d83db1e114fc72836ffec5c4aadb9a591597f","isMergeCommit":false,"messageTitle":"Adhere to checkstyle requirements","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":123,"deletions":31}}},{"hash":"80325ce843aa932a2d3fcd3b815fa453ac3de0ea","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"5011e5c8161d52f8b1cfe5b61efc6c8bc7f1e31d","isMergeCommit":false,"messageTitle":"Fix minor typos and issues","messageBody":"","tags":["A-CheckStyle"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5}}}]}]},"authorFileTypeContributionMap":{"imkwokyong":{"java":1101,"md":2,"fxml":0,"sh":0,"bat":1,"gradle":6,"txt":23}},"authorContributionVariance":{"imkwokyong":65360.855},"authorDisplayNameMap":{"imkwokyong":"CS2103-F13-1 KUAN..YONG"}} diff --git a/jonyeokj_ip_master/authorship.json b/jonyeokj_ip_master/authorship.json index 3563e8d5..8fb30fb6 100644 --- a/jonyeokj_ip_master/authorship.json +++ b/jonyeokj_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" protected String by;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":" return \"[D][\" + (isDone ? \"X\" : \" \") + \"] \" + description + \" (by: \" + by + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":13}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" protected String from;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":" protected String to;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":" return \"[E][\" + (isDone ? \"X\" : \" \") + \"] \" + description + \" (from: \" + from + \" to: \" + to + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":15}},{"path":"src/main/java/Martin.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.StandardOpenOption;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":"import exceptions.*;","lastModifiedDate":"2023-08-25"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":"public class Martin {","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" private static ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-25"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":" public static void main(String[] args) throws InvalidCommandException, EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":14,"author":{"gitId":"jonyeokj"},"content":" loadFromFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"jonyeokj"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Hello! I\u0027m Martin\\n What can I do for you?\");","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"jonyeokj"},"content":" while (true) {","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jonyeokj"},"content":" String input \u003d scanner.nextLine();","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-25"},{"lineNumber":23,"author":{"gitId":"jonyeokj"},"content":" if (input.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jonyeokj"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jonyeokj"},"content":" } else if (input.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"jonyeokj"},"content":" printTasks();","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"delete\")) {","lastModifiedDate":"2023-08-25"},{"lineNumber":29,"author":{"gitId":"jonyeokj"},"content":" deleteTask(input);","lastModifiedDate":"2023-08-25"},{"lineNumber":30,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"jonyeokj"},"content":" markTask(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"unmark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"jonyeokj"},"content":" unmarkTask(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"jonyeokj"},"content":" addTodo(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"jonyeokj"},"content":" addDeadline(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"jonyeokj"},"content":" addEvent(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"jonyeokj"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidCommandException(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-25"},{"lineNumber":48,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":49,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-25"},{"lineNumber":50,"author":{"gitId":"jonyeokj"},"content":" printMessage(e.getMessage());","lastModifiedDate":"2023-08-25"},{"lineNumber":51,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"jonyeokj"},"content":" private static void printMessage(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" \" + message);","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"jonyeokj"},"content":" private static void printTasks() {","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"jonyeokj"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" \" + (i + 1) + \". \" + tasks.get(i));","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"jonyeokj"},"content":" private static void deleteTask(String command) throws InvalidTaskNumberException {","lastModifiedDate":"2023-08-25"},{"lineNumber":70,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-25"},{"lineNumber":71,"author":{"gitId":"jonyeokj"},"content":" int taskNo \u003d Integer.parseInt(command.split(\" \")[1]);","lastModifiedDate":"2023-08-25"},{"lineNumber":72,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":73,"author":{"gitId":"jonyeokj"},"content":" if (taskNo \u003c\u003d 0 || taskNo \u003e tasks.size()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":74,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":75,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":76,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":77,"author":{"gitId":"jonyeokj"},"content":" Task removedTask \u003d tasks.remove(taskNo - 1);","lastModifiedDate":"2023-08-25"},{"lineNumber":78,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Noted. I\u0027ve removed this task:\\n \" + removedTask + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":79,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-25"},{"lineNumber":80,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":81,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":82,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":83,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":84,"author":{"gitId":"jonyeokj"},"content":" private static void markTask(String command) throws InvalidTaskNumberException, TaskAlreadyDoneException {","lastModifiedDate":"2023-08-25"},{"lineNumber":85,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":86,"author":{"gitId":"jonyeokj"},"content":" int taskNo \u003d Integer.parseInt(command.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"jonyeokj"},"content":" if (taskNo \u003c\u003d 0 || taskNo \u003e tasks.size()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":88,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":89,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":90,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":91,"author":{"gitId":"jonyeokj"},"content":" Task task \u003d tasks.get(taskNo - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"jonyeokj"},"content":" if (task.isDone()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"jonyeokj"},"content":" throw new TaskAlreadyDoneException(\"Task \\\"\" + task.getDescription() + \"\\\" is already done.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":94,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":95,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":96,"author":{"gitId":"jonyeokj"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Nice! I\u0027ve marked this task as done:\\n \" + task);","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"jonyeokj"},"content":" printMessage(e.getMessage());","lastModifiedDate":"2023-08-25"},{"lineNumber":100,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"jonyeokj"},"content":" private static void unmarkTask(String command) throws InvalidTaskNumberException, TaskNotDoneException{","lastModifiedDate":"2023-08-25"},{"lineNumber":104,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"jonyeokj"},"content":" int taskNo \u003d Integer.parseInt(command.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"jonyeokj"},"content":" if (taskNo \u003c\u003d 0 || taskNo \u003e tasks.size()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":107,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":108,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":109,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":110,"author":{"gitId":"jonyeokj"},"content":" Task task \u003d tasks.get(taskNo - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"jonyeokj"},"content":" if (!task.isDone()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"jonyeokj"},"content":" throw new TaskNotDoneException(\"Task \\\"\" + task.getDescription() + \"\\\" is not done yet.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":113,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":114,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":115,"author":{"gitId":"jonyeokj"},"content":" task.unmarkAsDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"OK, I\u0027ve marked this task as not done yet:\\n \" + task);","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"jonyeokj"},"content":" printMessage(e.getMessage());","lastModifiedDate":"2023-08-25"},{"lineNumber":119,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"jonyeokj"},"content":" private static void addTodo(String command) throws EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":123,"author":{"gitId":"jonyeokj"},"content":" if (command.length() \u003c\u003d 4) {","lastModifiedDate":"2023-08-25"},{"lineNumber":124,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":125,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":126,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":127,"author":{"gitId":"jonyeokj"},"content":" String description \u003d command.substring(5);","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"jonyeokj"},"content":" if (description.isEmpty()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":129,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":130,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":131,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":132,"author":{"gitId":"jonyeokj"},"content":" tasks.add(new Todo(description));","lastModifiedDate":"2023-08-24"},{"lineNumber":133,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Got it. I\u0027ve added this task:\\n \" + tasks.get(tasks.size() - 1) + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"jonyeokj"},"content":" private static void addDeadline(String command) throws EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":137,"author":{"gitId":"jonyeokj"},"content":" String[] parts \u003d command.substring(9).split(\" /by \");","lastModifiedDate":"2023-08-24"},{"lineNumber":138,"author":{"gitId":"jonyeokj"},"content":" if (parts.length \u003c 2 || parts[0].trim().isEmpty() || parts[1].trim().isEmpty()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":139,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of a deadline or its date cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":140,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":141,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":142,"author":{"gitId":"jonyeokj"},"content":" tasks.add(new Deadline(parts[0], parts[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Got it. I\u0027ve added this task:\\n \" + tasks.get(tasks.size() - 1) + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":146,"author":{"gitId":"jonyeokj"},"content":" private static void addEvent(String command) throws EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":147,"author":{"gitId":"jonyeokj"},"content":" String[] parts \u003d command.substring(6).split(\" /from \");","lastModifiedDate":"2023-08-24"},{"lineNumber":148,"author":{"gitId":"jonyeokj"},"content":" String[] timeParts \u003d parts[1].split(\" /to \");","lastModifiedDate":"2023-08-24"},{"lineNumber":149,"author":{"gitId":"jonyeokj"},"content":" if (parts.length \u003c 2 || parts[0].trim().isEmpty() || timeParts.length \u003c 2 || timeParts[0].trim().isEmpty() || timeParts[1].trim().isEmpty()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":150,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of an event or its time cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":151,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":152,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":153,"author":{"gitId":"jonyeokj"},"content":" tasks.add(new Event(parts[0], timeParts[0], timeParts[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":154,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Got it. I\u0027ve added this task:\\n \" + tasks.get(tasks.size() - 1) + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":155,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":156,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"jonyeokj"},"content":" public static void saveToFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"jonyeokj"},"content":" List\u003cString\u003e lines \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"jonyeokj"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"jonyeokj"},"content":" lines.add(task.toFileFormat()); ","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"jonyeokj"},"content":" Path path \u003d Paths.get(\"./data/martin.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"jonyeokj"},"content":" if (!Files.exists(path)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"jonyeokj"},"content":" Files.createDirectories(path.getParent());","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"jonyeokj"},"content":" Files.createFile(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"jonyeokj"},"content":" Files.write(path, lines, StandardOpenOption.TRUNCATE_EXISTING);","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"jonyeokj"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Error saving tasks to file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"jonyeokj"},"content":" public static void loadFromFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"jonyeokj"},"content":" Path path \u003d Paths.get(\"./data/martin.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"jonyeokj"},"content":" if (Files.exists(path)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"jonyeokj"},"content":" List\u003cString\u003e lines \u003d Files.readAllLines(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"jonyeokj"},"content":" for (String line : lines) {","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"jonyeokj"},"content":" tasks.add(Task.fromFileFormat(line));","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"jonyeokj"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Data file might be corrupted. (i.e., content not in expected format.)\");","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"jonyeokj"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Error reading tasks from file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"jonyeokj"},"content":" } ","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":192}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" protected String description;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":" return description;","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jonyeokj"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jonyeokj"},"content":" return isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jonyeokj"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jonyeokj"},"content":" isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"jonyeokj"},"content":" public void unmarkAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"jonyeokj"},"content":" isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"jonyeokj"},"content":" * Convert the task to its file format representation.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"jonyeokj"},"content":" * @return String representation of task for file storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"jonyeokj"},"content":" public String toFileFormat() {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"jonyeokj"},"content":" return (isDone ? \"1\" : \"0\") + \" | \" + description;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"jonyeokj"},"content":" * Convert a file format string back to a Task.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"jonyeokj"},"content":" * @param fileFormatString String representation from file.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"jonyeokj"},"content":" * @return A new Task instance.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"jonyeokj"},"content":" public static Task fromFileFormat(String fileFormatString) {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"jonyeokj"},"content":" String[] parts \u003d fileFormatString.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"jonyeokj"},"content":" if (parts.length !\u003d 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"jonyeokj"},"content":" throw new IllegalArgumentException(\"Invalid task format in file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"jonyeokj"},"content":" boolean isDone \u003d \"1\".equals(parts[0]);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"jonyeokj"},"content":" String description \u003d parts[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"jonyeokj"},"content":" Task task \u003d new Task(description);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"jonyeokj"},"content":" if (isDone) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"jonyeokj"},"content":" task.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"jonyeokj"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"jonyeokj"},"content":" return \"[\" + (isDone ? \"X\" : \" \") + \"] \" + description;","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":60}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":" return \"[T][\" + (isDone ? \"X\" : \" \") + \"] \" + description;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":10}},{"path":"src/main/java/exceptions/EmptyTaskDescriptionException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class EmptyTaskDescriptionException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public EmptyTaskDescriptionException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/InvalidCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class InvalidCommandException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public InvalidCommandException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/InvalidTaskNumberException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class InvalidTaskNumberException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public InvalidTaskNumberException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/TaskAlreadyDoneException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class TaskAlreadyDoneException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public TaskAlreadyDoneException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/TaskNotDoneException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class TaskNotDoneException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public TaskNotDoneException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"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":"jonyeokj"},"content":"java -classpath ..\\bin Martin \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-25"},{"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":{"jonyeokj":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":"jonyeokj"},"content":"java -classpath ../bin Martin \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"jonyeokj":1,"-":37}}] +[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" protected String by;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public Deadline(String description, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":" return \"[D][\" + (isDone ? \"X\" : \" \") + \"] \" + description + \" (by: \" + by + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":13}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" protected String from;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":" protected String to;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" public Event(String description, String from, String to) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":" return \"[E][\" + (isDone ? \"X\" : \" \") + \"] \" + description + \" (from: \" + from + \" to: \" + to + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":15}},{"path":"src/main/java/Martin.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"import java.util.List;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.Files;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.Path;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.Paths;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"import java.nio.file.StandardOpenOption;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":"import exceptions.EmptyTaskDescriptionException;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":"import exceptions.InvalidCommandException;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":"import exceptions.InvalidTaskNumberException;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":"import exceptions.TaskAlreadyDoneException;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":"import exceptions.TaskNotDoneException;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jonyeokj"},"content":"public class Martin {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jonyeokj"},"content":" private static ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-25"},{"lineNumber":17,"author":{"gitId":"jonyeokj"},"content":" public static void main(String[] args) throws InvalidCommandException, EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":18,"author":{"gitId":"jonyeokj"},"content":" loadFromFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"jonyeokj"},"content":" Scanner scanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Hello! I\u0027m Martin\\n What can I do for you?\");","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jonyeokj"},"content":" while (true) {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jonyeokj"},"content":" String input \u003d scanner.nextLine();","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-25"},{"lineNumber":27,"author":{"gitId":"jonyeokj"},"content":" if (input.equalsIgnoreCase(\"bye\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"jonyeokj"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"jonyeokj"},"content":" } else if (input.equalsIgnoreCase(\"list\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"jonyeokj"},"content":" printTasks();","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"delete\")) {","lastModifiedDate":"2023-08-25"},{"lineNumber":33,"author":{"gitId":"jonyeokj"},"content":" deleteTask(input);","lastModifiedDate":"2023-08-25"},{"lineNumber":34,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"jonyeokj"},"content":" markTask(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"unmark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"jonyeokj"},"content":" unmarkTask(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"jonyeokj"},"content":" addTodo(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"jonyeokj"},"content":" addDeadline(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"jonyeokj"},"content":" } else if (input.startsWith(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"jonyeokj"},"content":" addEvent(input);","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"jonyeokj"},"content":" saveToFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"jonyeokj"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidCommandException(\"☹ OOPS!!! I\u0027m sorry, but I don\u0027t know what that means :-(\");","lastModifiedDate":"2023-08-25"},{"lineNumber":52,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":53,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-25"},{"lineNumber":54,"author":{"gitId":"jonyeokj"},"content":" printMessage(e.getMessage());","lastModifiedDate":"2023-08-25"},{"lineNumber":55,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"jonyeokj"},"content":" * Displays the given message within a framed UI box.","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"jonyeokj"},"content":" * @param message The message to be displayed.","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"jonyeokj"},"content":" private static void printMessage(String message) {","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" \" + message);","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"jonyeokj"},"content":" * Prints all tasks currently in the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"jonyeokj"},"content":" private static void printTasks() {","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"jonyeokj"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" \" + (i + 1) + \". \" + tasks.get(i));","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"jonyeokj"},"content":" System.out.println(\" ____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":80,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"jonyeokj"},"content":" * Deletes the task at the specified index provided by the command.","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"jonyeokj"},"content":" * @param command The user input containing the task index to delete.","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"jonyeokj"},"content":" private static void deleteTask(String command) throws InvalidTaskNumberException {","lastModifiedDate":"2023-08-25"},{"lineNumber":85,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-25"},{"lineNumber":86,"author":{"gitId":"jonyeokj"},"content":" int taskNo \u003d Integer.parseInt(command.split(\" \")[1]);","lastModifiedDate":"2023-08-25"},{"lineNumber":87,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":88,"author":{"gitId":"jonyeokj"},"content":" if (taskNo \u003c\u003d 0 || taskNo \u003e tasks.size()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":89,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":90,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":91,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":92,"author":{"gitId":"jonyeokj"},"content":" Task removedTask \u003d tasks.remove(taskNo - 1);","lastModifiedDate":"2023-08-25"},{"lineNumber":93,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Noted. I\u0027ve removed this task:\\n \" + removedTask + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":94,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-25"},{"lineNumber":95,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":96,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":97,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":98,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":99,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"jonyeokj"},"content":" * Marks the task at the specified index as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"jonyeokj"},"content":" * @param command The user input containing the task index to mark.","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"jonyeokj"},"content":" private static void markTask(String command) throws InvalidTaskNumberException, TaskAlreadyDoneException {","lastModifiedDate":"2023-08-25"},{"lineNumber":104,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"jonyeokj"},"content":" int taskNo \u003d Integer.parseInt(command.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"jonyeokj"},"content":" if (taskNo \u003c\u003d 0 || taskNo \u003e tasks.size()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":107,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":108,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":109,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":110,"author":{"gitId":"jonyeokj"},"content":" Task task \u003d tasks.get(taskNo - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"jonyeokj"},"content":" if (task.isDone()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"jonyeokj"},"content":" throw new TaskAlreadyDoneException(\"Task \\\"\" + task.getDescription() + \"\\\" is already done.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":113,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":114,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":115,"author":{"gitId":"jonyeokj"},"content":" task.markAsDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Nice! I\u0027ve marked this task as done:\\n \" + task);","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"jonyeokj"},"content":" printMessage(e.getMessage());","lastModifiedDate":"2023-08-25"},{"lineNumber":119,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"jonyeokj"},"content":" * Unmarks the task at the specified index, marking it as not done.","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"jonyeokj"},"content":" * @param command The user input containing the task index to unmark.","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"jonyeokj"},"content":" private static void unmarkTask(String command) throws InvalidTaskNumberException, TaskNotDoneException{","lastModifiedDate":"2023-08-25"},{"lineNumber":127,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"jonyeokj"},"content":" int taskNo \u003d Integer.parseInt(command.split(\" \")[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"jonyeokj"},"content":" if (taskNo \u003c\u003d 0 || taskNo \u003e tasks.size()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":130,"author":{"gitId":"jonyeokj"},"content":" throw new InvalidTaskNumberException(\"Invalid task number.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":131,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":132,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":133,"author":{"gitId":"jonyeokj"},"content":" Task task \u003d tasks.get(taskNo - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"jonyeokj"},"content":" if (!task.isDone()) {","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"jonyeokj"},"content":" throw new TaskNotDoneException(\"Task \\\"\" + task.getDescription() + \"\\\" is not done yet.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":136,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":137,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":138,"author":{"gitId":"jonyeokj"},"content":" task.unmarkAsDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"OK, I\u0027ve marked this task as not done yet:\\n \" + task);","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"jonyeokj"},"content":" } catch (Exception e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"jonyeokj"},"content":" printMessage(e.getMessage());","lastModifiedDate":"2023-08-25"},{"lineNumber":142,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":143,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":144,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-24"},{"lineNumber":145,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"jonyeokj"},"content":" * Adds a new ToDo task to the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"jonyeokj"},"content":" * @param command The user input containing the task description.","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"jonyeokj"},"content":" private static void addTodo(String command) throws EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":150,"author":{"gitId":"jonyeokj"},"content":" if (command.length() \u003c\u003d 4) {","lastModifiedDate":"2023-08-25"},{"lineNumber":151,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":152,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":153,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-08-25"},{"lineNumber":154,"author":{"gitId":"jonyeokj"},"content":" String description \u003d command.substring(5);","lastModifiedDate":"2023-08-24"},{"lineNumber":155,"author":{"gitId":"jonyeokj"},"content":" if (description.isEmpty()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":156,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of a todo cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":157,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":158,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":159,"author":{"gitId":"jonyeokj"},"content":" tasks.add(new Todo(description));","lastModifiedDate":"2023-08-24"},{"lineNumber":160,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Got it. I\u0027ve added this task:\\n \" + tasks.get(tasks.size() - 1) + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":161,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":162,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":163,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"jonyeokj"},"content":" * Adds a new Deadline task to the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"jonyeokj"},"content":" * @param command The user input containing the task description and its deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"jonyeokj"},"content":" private static void addDeadline(String command) throws EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":168,"author":{"gitId":"jonyeokj"},"content":" String[] parts \u003d command.substring(9).split(\" /by \");","lastModifiedDate":"2023-08-24"},{"lineNumber":169,"author":{"gitId":"jonyeokj"},"content":" if (parts.length \u003c 2 || parts[0].trim().isEmpty() || parts[1].trim().isEmpty()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":170,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of a deadline or its date cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":171,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":172,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":173,"author":{"gitId":"jonyeokj"},"content":" tasks.add(new Deadline(parts[0], parts[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":174,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Got it. I\u0027ve added this task:\\n \" + tasks.get(tasks.size() - 1) + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":175,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":176,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":177,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"jonyeokj"},"content":" * Adds a new Event task to the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"jonyeokj"},"content":" * @param command The user input containing the event details.","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"jonyeokj"},"content":" private static void addEvent(String command) throws EmptyTaskDescriptionException {","lastModifiedDate":"2023-08-25"},{"lineNumber":182,"author":{"gitId":"jonyeokj"},"content":" String[] parts \u003d command.substring(6).split(\" /from \");","lastModifiedDate":"2023-08-24"},{"lineNumber":183,"author":{"gitId":"jonyeokj"},"content":" String[] timeParts \u003d parts[1].split(\" /to \");","lastModifiedDate":"2023-08-24"},{"lineNumber":184,"author":{"gitId":"jonyeokj"},"content":" if (parts.length \u003c 2 || parts[0].trim().isEmpty() || timeParts.length \u003c 2 || timeParts[0].trim().isEmpty() || timeParts[1].trim().isEmpty()) {","lastModifiedDate":"2023-08-25"},{"lineNumber":185,"author":{"gitId":"jonyeokj"},"content":" throw new EmptyTaskDescriptionException(\"☹ OOPS!!! The description of an event or its time cannot be empty.\");","lastModifiedDate":"2023-08-25"},{"lineNumber":186,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":187,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":188,"author":{"gitId":"jonyeokj"},"content":" tasks.add(new Event(parts[0], timeParts[0], timeParts[1]));","lastModifiedDate":"2023-08-24"},{"lineNumber":189,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Got it. I\u0027ve added this task:\\n \" + tasks.get(tasks.size() - 1) + \"\\n Now you have \" + tasks.size() + \" tasks in the list.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":190,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":191,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"jonyeokj"},"content":" * Saves all tasks in the list to an external file for persistence.","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":195,"author":{"gitId":"jonyeokj"},"content":" public static void saveToFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":196,"author":{"gitId":"jonyeokj"},"content":" List\u003cString\u003e lines \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":197,"author":{"gitId":"jonyeokj"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":198,"author":{"gitId":"jonyeokj"},"content":" lines.add(task.toFileFormat()); ","lastModifiedDate":"2023-09-02"},{"lineNumber":199,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":200,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":201,"author":{"gitId":"jonyeokj"},"content":" Path path \u003d Paths.get(\"./data/martin.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":202,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":203,"author":{"gitId":"jonyeokj"},"content":" if (!Files.exists(path)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":204,"author":{"gitId":"jonyeokj"},"content":" Files.createDirectories(path.getParent());","lastModifiedDate":"2023-09-02"},{"lineNumber":205,"author":{"gitId":"jonyeokj"},"content":" Files.createFile(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":206,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":207,"author":{"gitId":"jonyeokj"},"content":" Files.write(path, lines, StandardOpenOption.TRUNCATE_EXISTING);","lastModifiedDate":"2023-09-02"},{"lineNumber":208,"author":{"gitId":"jonyeokj"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":209,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Error saving tasks to file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":210,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":211,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":212,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":213,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":214,"author":{"gitId":"jonyeokj"},"content":" * Loads tasks from an external file into the program on startup.","lastModifiedDate":"2023-09-02"},{"lineNumber":215,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":216,"author":{"gitId":"jonyeokj"},"content":" public static void loadFromFile() {","lastModifiedDate":"2023-09-02"},{"lineNumber":217,"author":{"gitId":"jonyeokj"},"content":" Path path \u003d Paths.get(\"./data/martin.txt\");","lastModifiedDate":"2023-09-02"},{"lineNumber":218,"author":{"gitId":"jonyeokj"},"content":" if (Files.exists(path)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":219,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":220,"author":{"gitId":"jonyeokj"},"content":" List\u003cString\u003e lines \u003d Files.readAllLines(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":221,"author":{"gitId":"jonyeokj"},"content":" for (String line : lines) {","lastModifiedDate":"2023-09-02"},{"lineNumber":222,"author":{"gitId":"jonyeokj"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":223,"author":{"gitId":"jonyeokj"},"content":" tasks.add(Task.fromFileFormat(line));","lastModifiedDate":"2023-09-02"},{"lineNumber":224,"author":{"gitId":"jonyeokj"},"content":" } catch (IllegalArgumentException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":225,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Data file might be corrupted. (i.e., content not in expected format.)\");","lastModifiedDate":"2023-09-02"},{"lineNumber":226,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":227,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":228,"author":{"gitId":"jonyeokj"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":229,"author":{"gitId":"jonyeokj"},"content":" printMessage(\"Error reading tasks from file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":230,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":231,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":232,"author":{"gitId":"jonyeokj"},"content":" } ","lastModifiedDate":"2023-09-02"},{"lineNumber":233,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":233}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" protected String description;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" public Task(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" this.description \u003d description;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":" public String getDescription() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"jonyeokj"},"content":" return description;","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"jonyeokj"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"jonyeokj"},"content":" return isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"jonyeokj"},"content":" public void markAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"jonyeokj"},"content":" isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"jonyeokj"},"content":" public void unmarkAsDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"jonyeokj"},"content":" isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"jonyeokj"},"content":" * Convert the task to its file format representation.","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"jonyeokj"},"content":" * @return String representation of task for file storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"jonyeokj"},"content":" public String toFileFormat() {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"jonyeokj"},"content":" return (isDone ? \"1\" : \"0\") + \" | \" + description;","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"jonyeokj"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"jonyeokj"},"content":" * Convert a file format string back to a Task.","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"jonyeokj"},"content":" * @param fileFormatString String representation from file.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"jonyeokj"},"content":" * @return A new Task instance.","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"jonyeokj"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"jonyeokj"},"content":" public static Task fromFileFormat(String fileFormatString) {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"jonyeokj"},"content":" String[] parts \u003d fileFormatString.split(\"\\\\s*\\\\|\\\\s*\");","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"jonyeokj"},"content":" ","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"jonyeokj"},"content":" if (parts.length !\u003d 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"jonyeokj"},"content":" throw new IllegalArgumentException(\"Invalid task format in file.\");","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"jonyeokj"},"content":" boolean isDone \u003d \"1\".equals(parts[0]);","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"jonyeokj"},"content":" String description \u003d parts[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"jonyeokj"},"content":" Task task \u003d new Task(description);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"jonyeokj"},"content":" if (isDone) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"jonyeokj"},"content":" task.markAsDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"jonyeokj"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"jonyeokj"},"content":" return \"[\" + (isDone ? \"X\" : \" \") + \"] \" + description;","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":60}},{"path":"src/main/java/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":" public Todo(String description) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":" super(description);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"jonyeokj"},"content":" return \"[T][\" + (isDone ? \"X\" : \" \") + \"] \" + description;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"jonyeokj":10}},{"path":"src/main/java/exceptions/EmptyTaskDescriptionException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class EmptyTaskDescriptionException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public EmptyTaskDescriptionException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/InvalidCommandException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class InvalidCommandException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public InvalidCommandException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/InvalidTaskNumberException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class InvalidTaskNumberException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public InvalidTaskNumberException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/TaskAlreadyDoneException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class TaskAlreadyDoneException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public TaskAlreadyDoneException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"path":"src/main/java/exceptions/TaskNotDoneException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"jonyeokj"},"content":"package exceptions;","lastModifiedDate":"2023-08-25"},{"lineNumber":2,"author":{"gitId":"jonyeokj"},"content":"","lastModifiedDate":"2023-08-25"},{"lineNumber":3,"author":{"gitId":"jonyeokj"},"content":"public class TaskNotDoneException extends Exception {","lastModifiedDate":"2023-08-25"},{"lineNumber":4,"author":{"gitId":"jonyeokj"},"content":" public TaskNotDoneException(String message) {","lastModifiedDate":"2023-08-25"},{"lineNumber":5,"author":{"gitId":"jonyeokj"},"content":" super(message);","lastModifiedDate":"2023-08-25"},{"lineNumber":6,"author":{"gitId":"jonyeokj"},"content":" }","lastModifiedDate":"2023-08-25"},{"lineNumber":7,"author":{"gitId":"jonyeokj"},"content":"}","lastModifiedDate":"2023-08-25"}],"authorContributionMap":{"jonyeokj":7}},{"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":"jonyeokj"},"content":"java -classpath ..\\bin Martin \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-25"},{"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":{"jonyeokj":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":"jonyeokj"},"content":"java -classpath ../bin Martin \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-08-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":"# convert to UNIX format","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":"cp EXPECTED.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":"dos2unix ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"# compare the output to the expected output","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"diff ACTUAL.TXT EXPECTED-UNIX.TXT","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"if [ $? -eq 0 ]","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"-"},"content":"then","lastModifiedDate":"2020-05-25"},{"lineNumber":33,"author":{"gitId":"-"},"content":" echo \"Test result: PASSED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":" exit 0","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"else","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" echo \"Test result: FAILED\"","lastModifiedDate":"2020-05-25"},{"lineNumber":37,"author":{"gitId":"-"},"content":" exit 1","lastModifiedDate":"2020-05-25"},{"lineNumber":38,"author":{"gitId":"-"},"content":"fi","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"jonyeokj":1,"-":37}}] diff --git a/jonyeokj_ip_master/commits.json b/jonyeokj_ip_master/commits.json index 5da68d5c..11a48d94 100644 --- a/jonyeokj_ip_master/commits.json +++ b/jonyeokj_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"jonyeokj":[{"date":"2023-08-24","commitResults":[{"hash":"39c0d765d607a2e7176a52d86fb7649d6a2bb4da","isMergeCommit":false,"messageTitle":"Changed Duke to Martin","messageBody":"","tags":["Level-2","Level-1","Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":10}}},{"hash":"4d307d87d9dc2246865facccce42d567818c6357","isMergeCommit":false,"messageTitle":"Added isDone Functionality and Task.java","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":4}}},{"hash":"5a7a3116a4b1e93ccd043e004bb95be2cfc7f794","isMergeCommit":false,"messageTitle":"Added Tracking for Tasks: Todos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":4}}},{"hash":"37a5502e1a638e9b88a2edd99e40403b2035d36d","isMergeCommit":false,"messageTitle":"Abstraction of adding Task functions","messageBody":"","tags":["Level-4-abstraction"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":10}}}]},{"date":"2023-08-25","commitResults":[{"hash":"7f325761052bda121c5f8ce6f7dcf790a3b8aedd","isMergeCommit":false,"messageTitle":"Edited Duke to Martin in runtest files","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"bat":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}},{"hash":"1228c38f6ae00d83e3f30aedbe3b46359dc9bbf8","isMergeCommit":false,"messageTitle":"Added Exceptions for empty tasks descriptions, invalid commands, invalid task numbers and already marked/unmarked tasks","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":97,"deletions":33}}},{"hash":"a46f9a81d487b4663c871948fcdf349d66dff753","isMergeCommit":false,"messageTitle":"Added Delete Function for tasks","messageBody":"","tags":["git-Level-7","A-TextUITesting"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":5}}}]},{"date":"2023-09-02","commitResults":[{"hash":"b47fcbfceda79d68eb1c2fdc03e02f58b5ff1481","isMergeCommit":false,"messageTitle":"Added saving functionality, tasks are saved and remembered","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":81,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"jonyeokj":{"java":325,"md":0,"fxml":0,"sh":1,"bat":1,"gradle":0,"txt":0}},"authorContributionVariance":{"jonyeokj":4001.2148},"authorDisplayNameMap":{"jonyeokj":"CS2103-W14-2 JONA.. JIE"}} +{"authorDailyContributionsMap":{"jonyeokj":[{"date":"2023-08-24","commitResults":[{"hash":"39c0d765d607a2e7176a52d86fb7649d6a2bb4da","isMergeCommit":false,"messageTitle":"Changed Duke to Martin","messageBody":"","tags":["Level-2","Level-1","Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":10}}},{"hash":"4d307d87d9dc2246865facccce42d567818c6357","isMergeCommit":false,"messageTitle":"Added isDone Functionality and Task.java","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":4}}},{"hash":"5a7a3116a4b1e93ccd043e004bb95be2cfc7f794","isMergeCommit":false,"messageTitle":"Added Tracking for Tasks: Todos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":4}}},{"hash":"37a5502e1a638e9b88a2edd99e40403b2035d36d","isMergeCommit":false,"messageTitle":"Abstraction of adding Task functions","messageBody":"","tags":["Level-4-abstraction"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":10}}}]},{"date":"2023-08-25","commitResults":[{"hash":"7f325761052bda121c5f8ce6f7dcf790a3b8aedd","isMergeCommit":false,"messageTitle":"Edited Duke to Martin in runtest files","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"bat":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}},{"hash":"1228c38f6ae00d83e3f30aedbe3b46359dc9bbf8","isMergeCommit":false,"messageTitle":"Added Exceptions for empty tasks descriptions, invalid commands, invalid task numbers and already marked/unmarked tasks","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":97,"deletions":33}}},{"hash":"a46f9a81d487b4663c871948fcdf349d66dff753","isMergeCommit":false,"messageTitle":"Added Delete Function for tasks","messageBody":"","tags":["A-TextUITesting"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":5}}}]},{"date":"2023-09-02","commitResults":[{"hash":"b47fcbfceda79d68eb1c2fdc03e02f58b5ff1481","isMergeCommit":false,"messageTitle":"Added saving functionality, tasks are saved and remembered","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":81,"deletions":1}}},{"hash":"380082a58a14695c72e6ac65879d2a519c79257d","isMergeCommit":false,"messageTitle":"Removed wildcard import and added header messages to functions","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"jonyeokj":{"java":366,"md":0,"fxml":0,"sh":1,"bat":1,"gradle":0,"txt":0}},"authorContributionVariance":{"jonyeokj":4398.125},"authorDisplayNameMap":{"jonyeokj":"CS2103-W14-2 JONA.. JIE"}} diff --git a/junhonglow_ip_master/commits.json b/junhonglow_ip_master/commits.json index c5466cb7..c7ec7e5a 100644 --- a/junhonglow_ip_master/commits.json +++ b/junhonglow_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"junhonglow":[{"date":"2023-08-24","commitResults":[{"hash":"1cbd8dd9256c3c4f111a1431e58aea8aa00d1e56","isMergeCommit":false,"messageTitle":"Modify name of chatbot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":10}}},{"hash":"b1b031bc7ddb801ec834f1be769693d79e47ee97","isMergeCommit":false,"messageTitle":"Add greeting and exit message","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"2096afc76419d50e45c6e7c77a9a5697a68f3671","isMergeCommit":false,"messageTitle":"Add private methods for greeting and exit","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":3}}},{"hash":"00c132f93009ea1720d5faf357c017b7523bd98f","isMergeCommit":false,"messageTitle":"Add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"444545c034bd2a6fe44954e6f04532e9cccfd04e","isMergeCommit":false,"messageTitle":"Add functionality to create task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"cd66fd91792b89a4d590ac1e94d4123be397cb99","isMergeCommit":false,"messageTitle":"Add functionality to maintain a list of tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":0}}},{"hash":"4fcad3332689740fcccc2b39bd2f7ddd284c510b","isMergeCommit":false,"messageTitle":"Modified chatbot to implement new functions","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":8}}},{"hash":"89f842f982bd2ada3dbda3a7424498eaf33b9dcc","isMergeCommit":false,"messageTitle":"Add functionality to mark/unmark tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":7}}},{"hash":"ff3ce35fb3239050fa2916a1c074c62a1bc9fb40","isMergeCommit":false,"messageTitle":"Modified chatbot to implement mark/unmark task functionality","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":7}}},{"hash":"5bb74542e7c9d68add0d92432ffe7e5e42c67a5e","isMergeCommit":false,"messageTitle":"Modify Task and mark/unmark methods to be abstract","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":8}}},{"hash":"cda03bb51546df83ab17ee5f169d2e8d815c0358","isMergeCommit":false,"messageTitle":"Add Todo, Deadline and Event classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":105,"deletions":0}}},{"hash":"722e05c58d648ac49a28010abc03a8492ea9a7df","isMergeCommit":false,"messageTitle":"Modify logic of string parsing and add functionality of new types of tasks","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":6}}}]},{"date":"2023-08-25","commitResults":[{"hash":"6e9d00512c19f5c4faabaf35237b220cc0f2cb8a","isMergeCommit":false,"messageTitle":"Add missing lines after adding tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}},{"hash":"4c2246364057fa400f12ede7a7f32442a0bc41f4","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"07ab7371ede1b71fa5d3c39fed3cfb7fd26bdbfd","isMergeCommit":false,"messageTitle":"Add semi-automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"sh":{"insertions":1,"deletions":1}}},{"hash":"dcd7eb90d0ded830d8737afdc3c3e5f7dee3fbad","isMergeCommit":false,"messageTitle":"Fix docstring","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"22c8124abfbe9863e729aa9c2c38a975cc9c1a09","isMergeCommit":false,"messageTitle":"Added exception handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":14}}},{"hash":"d9785ee6932e25384cb2670ab5ed9c39e948475d","isMergeCommit":false,"messageTitle":"Modify name of function to be more consistent","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"15759fe4c58a6e162e53c87ae1997875bf983b9a","isMergeCommit":false,"messageTitle":"Add functionality to delete tasks","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":2}}}]},{"date":"2023-08-31","commitResults":[{"hash":"e5eeed89c5dc69ee413cd3788197a5d462ddd6ea","isMergeCommit":false,"messageTitle":"Reformat code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":75,"deletions":60}}}]},{"date":"2023-09-01","commitResults":[{"hash":"86642f35580b0371b6c1dfa77ede8f6be4940ff3","isMergeCommit":false,"messageTitle":"Create task package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":22}}},{"hash":"3d6face1067572f8923bd2ae8a57d929cb111719","isMergeCommit":false,"messageTitle":"Add loading/saving functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":141,"deletions":4}}},{"hash":"21a1db3becfa242c8cac70d04b28fd73fc6917d4","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"e1a62772b572005a1ff7b1e960502fc5164c6b0c","isMergeCommit":false,"messageTitle":"Add DateTime Functionality to tasks","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":26}}},{"hash":"77ead06ef267fdffaee9a43d27c98171dfc81458","isMergeCommit":false,"messageTitle":"Update tests","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":2}}},{"hash":"cd6e605cfba952a29b7e2422b67dcf36a8084a88","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"0fd9c013f2c8c1f2f46b26137ef647244e003ade","isMergeCommit":false,"messageTitle":"Add Ui and Parser classes","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":257,"deletions":161}}},{"hash":"a4ae8d4686de85405ec316a39d2d614a8a0ba410","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"6548bbb9332b0422093ceb539c84b804378d4b14","isMergeCommit":false,"messageTitle":"Add packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":1}}},{"hash":"6611a27519318240383518fe868c37d87d31dcd0","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into add-gradle-support","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a4b0ed116a057e33d54c64c44e1962d7d09e3ba9","isMergeCommit":false,"messageTitle":"Configure gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":6,"deletions":3}}},{"hash":"5ec8d93d3f4813bbad6291c9b18f59d8bb622ad7","isMergeCommit":false,"messageTitle":"Add JUnit tests","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":0},"java":{"insertions":49,"deletions":0}}},{"hash":"70bbe477902510b251efd9f2c43ca9c935580c28","isMergeCommit":false,"messageTitle":"Add javadoc comments","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":1}}},{"hash":"b9cd6329ff511a54de82239da946976fd98d85c7","isMergeCommit":false,"messageTitle":"Fix code to adhere to coding standards","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":11}}},{"hash":"bfce76168b0e18d965beb37b84ef8dc3f0cd682a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"9e05b7733b1b2f91b109477793390e09aaa1ad77","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"bf440136151e2a969f59d218ae9d2b9159affe31","isMergeCommit":false,"messageTitle":"Add find functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":3}}},{"hash":"5e651103d8514c70818f538d17c895ac16d95415","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"junhonglow":{"java":903,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":7,"txt":12}},"authorContributionVariance":{"junhonglow":59077.023},"authorDisplayNameMap":{"junhonglow":"LOW ..HONG"}} +{"authorDailyContributionsMap":{"junhonglow":[{"date":"2023-08-24","commitResults":[{"hash":"1cbd8dd9256c3c4f111a1431e58aea8aa00d1e56","isMergeCommit":false,"messageTitle":"Modify name of chatbot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":7,"deletions":10}}},{"hash":"b1b031bc7ddb801ec834f1be769693d79e47ee97","isMergeCommit":false,"messageTitle":"Add greeting and exit message","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"2096afc76419d50e45c6e7c77a9a5697a68f3671","isMergeCommit":false,"messageTitle":"Add private methods for greeting and exit","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":3}}},{"hash":"00c132f93009ea1720d5faf357c017b7523bd98f","isMergeCommit":false,"messageTitle":"Add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"444545c034bd2a6fe44954e6f04532e9cccfd04e","isMergeCommit":false,"messageTitle":"Add functionality to create task","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"cd66fd91792b89a4d590ac1e94d4123be397cb99","isMergeCommit":false,"messageTitle":"Add functionality to maintain a list of tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":41,"deletions":0}}},{"hash":"4fcad3332689740fcccc2b39bd2f7ddd284c510b","isMergeCommit":false,"messageTitle":"Modified chatbot to implement new functions","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":8}}},{"hash":"89f842f982bd2ada3dbda3a7424498eaf33b9dcc","isMergeCommit":false,"messageTitle":"Add functionality to mark/unmark tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":7}}},{"hash":"ff3ce35fb3239050fa2916a1c074c62a1bc9fb40","isMergeCommit":false,"messageTitle":"Modified chatbot to implement mark/unmark task functionality","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":7}}},{"hash":"5bb74542e7c9d68add0d92432ffe7e5e42c67a5e","isMergeCommit":false,"messageTitle":"Modify Task and mark/unmark methods to be abstract","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":8}}},{"hash":"cda03bb51546df83ab17ee5f169d2e8d815c0358","isMergeCommit":false,"messageTitle":"Add Todo, Deadline and Event classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":105,"deletions":0}}},{"hash":"722e05c58d648ac49a28010abc03a8492ea9a7df","isMergeCommit":false,"messageTitle":"Modify logic of string parsing and add functionality of new types of tasks","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":6}}}]},{"date":"2023-08-25","commitResults":[{"hash":"6e9d00512c19f5c4faabaf35237b220cc0f2cb8a","isMergeCommit":false,"messageTitle":"Add missing lines after adding tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}},{"hash":"4c2246364057fa400f12ede7a7f32442a0bc41f4","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"07ab7371ede1b71fa5d3c39fed3cfb7fd26bdbfd","isMergeCommit":false,"messageTitle":"Add semi-automated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"sh":{"insertions":1,"deletions":1}}},{"hash":"dcd7eb90d0ded830d8737afdc3c3e5f7dee3fbad","isMergeCommit":false,"messageTitle":"Fix docstring","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"22c8124abfbe9863e729aa9c2c38a975cc9c1a09","isMergeCommit":false,"messageTitle":"Added exception handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":14}}},{"hash":"d9785ee6932e25384cb2670ab5ed9c39e948475d","isMergeCommit":false,"messageTitle":"Modify name of function to be more consistent","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"15759fe4c58a6e162e53c87ae1997875bf983b9a","isMergeCommit":false,"messageTitle":"Add functionality to delete tasks","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":2}}}]},{"date":"2023-08-31","commitResults":[{"hash":"e5eeed89c5dc69ee413cd3788197a5d462ddd6ea","isMergeCommit":false,"messageTitle":"Reformat code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":75,"deletions":60}}}]},{"date":"2023-09-01","commitResults":[{"hash":"86642f35580b0371b6c1dfa77ede8f6be4940ff3","isMergeCommit":false,"messageTitle":"Create task package","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":22}}},{"hash":"3d6face1067572f8923bd2ae8a57d929cb111719","isMergeCommit":false,"messageTitle":"Add loading/saving functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":141,"deletions":4}}},{"hash":"21a1db3becfa242c8cac70d04b28fd73fc6917d4","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"e1a62772b572005a1ff7b1e960502fc5164c6b0c","isMergeCommit":false,"messageTitle":"Add DateTime Functionality to tasks","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":46,"deletions":26}}},{"hash":"77ead06ef267fdffaee9a43d27c98171dfc81458","isMergeCommit":false,"messageTitle":"Update tests","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":2}}},{"hash":"cd6e605cfba952a29b7e2422b67dcf36a8084a88","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"0fd9c013f2c8c1f2f46b26137ef647244e003ade","isMergeCommit":false,"messageTitle":"Add Ui and Parser classes","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":257,"deletions":161}}},{"hash":"a4ae8d4686de85405ec316a39d2d614a8a0ba410","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"6548bbb9332b0422093ceb539c84b804378d4b14","isMergeCommit":false,"messageTitle":"Add packages","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":1}}},{"hash":"6611a27519318240383518fe868c37d87d31dcd0","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into add-gradle-support","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"a4b0ed116a057e33d54c64c44e1962d7d09e3ba9","isMergeCommit":false,"messageTitle":"Configure gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":6,"deletions":3}}},{"hash":"5ec8d93d3f4813bbad6291c9b18f59d8bb622ad7","isMergeCommit":false,"messageTitle":"Add JUnit tests","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":0},"java":{"insertions":49,"deletions":0}}},{"hash":"70bbe477902510b251efd9f2c43ca9c935580c28","isMergeCommit":false,"messageTitle":"Add javadoc comments","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":1}}},{"hash":"b9cd6329ff511a54de82239da946976fd98d85c7","isMergeCommit":false,"messageTitle":"Fix code to adhere to coding standards","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":11}}},{"hash":"bfce76168b0e18d965beb37b84ef8dc3f0cd682a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"9e05b7733b1b2f91b109477793390e09aaa1ad77","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"bf440136151e2a969f59d218ae9d2b9159affe31","isMergeCommit":false,"messageTitle":"Add find functionality","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":3}}},{"hash":"5e651103d8514c70818f538d17c895ac16d95415","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"junhonglow":{"java":903,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":7,"txt":12}},"authorContributionVariance":{"junhonglow":59077.023},"authorDisplayNameMap":{"junhonglow":"CS2103-F13-4 LOW ..HONG"}} diff --git a/ktzy0305_ip_master/commits.json b/ktzy0305_ip_master/commits.json index 01cce9ac..948ed52f 100644 --- a/ktzy0305_ip_master/commits.json +++ b/ktzy0305_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"ktzy0305":[{"date":"2023-08-20","commitResults":[{"hash":"2653b7cbcdcc61a9a4e4ec1130a6129051c9d608","isMergeCommit":false,"messageTitle":"rename, greet, exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":7}}},{"hash":"1d0ba10b375026088c02f1d2208141e3b782928e","isMergeCommit":false,"messageTitle":"add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":7}}}]},{"date":"2023-08-21","commitResults":[{"hash":"cc8b300e9c1d41128db4c524a650193febbb74b8","isMergeCommit":false,"messageTitle":"feat: add task and list tasks","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":9}}},{"hash":"94e1fb634b7ab0b6838f721722c541564d1b77fc","isMergeCommit":false,"messageTitle":"add task.java","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":0}}},{"hash":"ccdcf30b1f618a86da6a271f9b2109c94515373b","isMergeCommit":false,"messageTitle":"feat: add mark as done and unmark","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":8}}},{"hash":"0b5f0e4307643a0c1063be349ef6d63230c32caf","isMergeCommit":false,"messageTitle":"add classes Deadline.java, Event.java and ToDo.java","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":0}}},{"hash":"9fa07a0ba9241ba3f7760d07c60bcddbcd73143a","isMergeCommit":false,"messageTitle":"feat: add todos, events and deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":18}}},{"hash":"2fb08c47f7e2143c488e6e8cdeccd3dc4771d821","isMergeCommit":false,"messageTitle":"add test inputs and expected outputs","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0},"java":{"insertions":4,"deletions":3}}},{"hash":"a8a4980cd366e864a59f97ed93c13e12e6d439b5","isMergeCommit":false,"messageTitle":"Add DukeException.java","messageBody":"","tags":["A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"60c284a3f3aee6ccc73a5081277b07f2c7e72ba7","isMergeCommit":false,"messageTitle":"Add error handling for incorrect inputs","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":159,"deletions":96}}},{"hash":"1bc59f4a45699a1ea3f2419a050b49d4bd9425d6","isMergeCommit":false,"messageTitle":"Add support for deleting tasks from the list","messageBody":"","tags":["Level-6","A-Enums","A-Collections"],"fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"java":{"insertions":92,"deletions":47}}}]},{"date":"2023-08-28","commitResults":[{"hash":"165465e9342317ec369663a71345fa1af5dbc2f6","isMergeCommit":false,"messageTitle":"add functionality to save tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":256,"deletions":140}}},{"hash":"d1f9460a89fb23fedcf22f41ce35a1b2fa492642","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"ff3eaab99e90fb360599fc4056a4a25940a1876f","isMergeCommit":false,"messageTitle":"add dates and times to Skye","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":1},"java":{"insertions":104,"deletions":24}}},{"hash":"c968518199dba50bac3bdbb95b757b5d90c59464","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"6806c136c8d6237bdfd55adc7868fbd543efea08","isMergeCommit":false,"messageTitle":"remove data/tasks.txt","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":5}}}]},{"date":"2023-08-30","commitResults":[{"hash":"7aa1874ac85c641a11a8bfd183f24ed4ce5cfc2c","isMergeCommit":false,"messageTitle":"add more OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":546,"deletions":289}}},{"hash":"70f4790e5c670637e33599e8150a8e7c47712eb9","isMergeCommit":false,"messageTitle":"add packaging of classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":93}}},{"hash":"93771fd2cf91f90234596c675c0e6af74df523f8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"62d5a79cc490fe0d8b3b7e279c5d56dca36494db","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-JUnit","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"4386f05b81b22cf9e5e9f44761532f449393d1f1","isMergeCommit":false,"messageTitle":"adds gradle build scripts, JUnit tests and create jar file","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":0,"deletions":2},"java":{"insertions":318,"deletions":107},"bat":{"insertions":3,"deletions":3},"sh":{"insertions":2,"deletions":2},"md":{"insertions":2,"deletions":2}}},{"hash":"1e3f626e4a5c12e4e38a6233df73e1b2cdf8dc9b","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-JUnit\u0027","messageBody":"","tags":["A-Jar","A-JUnit","A-Gradle"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"6fbfbac718a63e43bb243ff76cd6b7cb460c75bc","isMergeCommit":false,"messageTitle":"adhere to Java coding standards.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":105,"deletions":53}}},{"hash":"e1553b7aea1287e5f90f420984a57c4ee2990c7a","isMergeCommit":false,"messageTitle":"Add JavaDoc documentation for classes and methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":585,"deletions":25}}},{"hash":"c35b8f8b12d704155271de0b873c714ce116fe6c","isMergeCommit":false,"messageTitle":"add find task command","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":26,"deletions":0},"java":{"insertions":107,"deletions":7}}},{"hash":"e7468cdef573d4adb57d51eae25d654e59609327","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"58f31431e2a44830e05b80824e95047d3754de7a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/parser/Parser.java\n#\tsrc/main/java/duke/ui/UI.java\n","fileTypesAndContributionMap":{}},{"hash":"1ad25962e0583d5cf0d9b4430bb61c0e13608256","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/Duke.java\n#\tsrc/main/java/duke/commands/Command.java\n#\tsrc/main/java/duke/commands/DueCommand.java\n#\tsrc/main/java/duke/commands/HelpCommand.java\n#\tsrc/main/java/duke/commands/ListCommand.java\n#\tsrc/main/java/duke/data/TaskList.java\n#\tsrc/main/java/duke/data/exception/DukeException.java\n#\tsrc/main/java/duke/parser/Parser.java\n#\tsrc/main/java/duke/storage/Storage.java\n#\tsrc/main/java/duke/ui/UI.java\n","tags":["Level-9","A-JavaDoc","A-CodingStandard"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"ktzy0305":{"java":1823,"md":2,"fxml":0,"sh":2,"bat":3,"gradle":1,"txt":43}},"authorContributionVariance":{"ktzy0305":208200.67},"authorDisplayNameMap":{"ktzy0305":"KEVI..YING"}} +{"authorDailyContributionsMap":{"ktzy0305":[{"date":"2023-08-20","commitResults":[{"hash":"2653b7cbcdcc61a9a4e4ec1130a6129051c9d608","isMergeCommit":false,"messageTitle":"rename, greet, exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":7}}},{"hash":"1d0ba10b375026088c02f1d2208141e3b782928e","isMergeCommit":false,"messageTitle":"add echo functionality","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":7}}}]},{"date":"2023-08-21","commitResults":[{"hash":"cc8b300e9c1d41128db4c524a650193febbb74b8","isMergeCommit":false,"messageTitle":"feat: add task and list tasks","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":42,"deletions":9}}},{"hash":"94e1fb634b7ab0b6838f721722c541564d1b77fc","isMergeCommit":false,"messageTitle":"add task.java","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":49,"deletions":0}}},{"hash":"ccdcf30b1f618a86da6a271f9b2109c94515373b","isMergeCommit":false,"messageTitle":"feat: add mark as done and unmark","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":8}}},{"hash":"0b5f0e4307643a0c1063be349ef6d63230c32caf","isMergeCommit":false,"messageTitle":"add classes Deadline.java, Event.java and ToDo.java","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":0}}},{"hash":"9fa07a0ba9241ba3f7760d07c60bcddbcd73143a","isMergeCommit":false,"messageTitle":"feat: add todos, events and deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":18}}},{"hash":"2fb08c47f7e2143c488e6e8cdeccd3dc4771d821","isMergeCommit":false,"messageTitle":"add test inputs and expected outputs","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0},"java":{"insertions":4,"deletions":3}}},{"hash":"a8a4980cd366e864a59f97ed93c13e12e6d439b5","isMergeCommit":false,"messageTitle":"Add DukeException.java","messageBody":"","tags":["A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"60c284a3f3aee6ccc73a5081277b07f2c7e72ba7","isMergeCommit":false,"messageTitle":"Add error handling for incorrect inputs","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":159,"deletions":96}}},{"hash":"1bc59f4a45699a1ea3f2419a050b49d4bd9425d6","isMergeCommit":false,"messageTitle":"Add support for deleting tasks from the list","messageBody":"","tags":["Level-6","A-Enums","A-Collections"],"fileTypesAndContributionMap":{"txt":{"insertions":4,"deletions":0},"java":{"insertions":92,"deletions":47}}}]},{"date":"2023-08-28","commitResults":[{"hash":"165465e9342317ec369663a71345fa1af5dbc2f6","isMergeCommit":false,"messageTitle":"add functionality to save tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":256,"deletions":140}}},{"hash":"d1f9460a89fb23fedcf22f41ce35a1b2fa492642","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"ff3eaab99e90fb360599fc4056a4a25940a1876f","isMergeCommit":false,"messageTitle":"add dates and times to Skye","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":1},"java":{"insertions":104,"deletions":24}}},{"hash":"c968518199dba50bac3bdbb95b757b5d90c59464","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{}},{"hash":"6806c136c8d6237bdfd55adc7868fbd543efea08","isMergeCommit":false,"messageTitle":"remove data/tasks.txt","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":5}}}]},{"date":"2023-08-30","commitResults":[{"hash":"7aa1874ac85c641a11a8bfd183f24ed4ce5cfc2c","isMergeCommit":false,"messageTitle":"add more OOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":546,"deletions":289}}},{"hash":"70f4790e5c670637e33599e8150a8e7c47712eb9","isMergeCommit":false,"messageTitle":"add packaging of classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":93}}},{"hash":"93771fd2cf91f90234596c675c0e6af74df523f8","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"62d5a79cc490fe0d8b3b7e279c5d56dca36494db","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into branch-JUnit","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"4386f05b81b22cf9e5e9f44761532f449393d1f1","isMergeCommit":false,"messageTitle":"adds gradle build scripts, JUnit tests and create jar file","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1},"txt":{"insertions":0,"deletions":2},"java":{"insertions":318,"deletions":107},"bat":{"insertions":3,"deletions":3},"sh":{"insertions":2,"deletions":2},"md":{"insertions":2,"deletions":2}}},{"hash":"1e3f626e4a5c12e4e38a6233df73e1b2cdf8dc9b","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-JUnit\u0027","messageBody":"","tags":["A-Jar","A-JUnit","A-Gradle"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"6fbfbac718a63e43bb243ff76cd6b7cb460c75bc","isMergeCommit":false,"messageTitle":"adhere to Java coding standards.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":105,"deletions":53}}},{"hash":"e1553b7aea1287e5f90f420984a57c4ee2990c7a","isMergeCommit":false,"messageTitle":"Add JavaDoc documentation for classes and methods","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":585,"deletions":25}}},{"hash":"c35b8f8b12d704155271de0b873c714ce116fe6c","isMergeCommit":false,"messageTitle":"add find task command","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":26,"deletions":0},"java":{"insertions":107,"deletions":7}}},{"hash":"e7468cdef573d4adb57d51eae25d654e59609327","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"58f31431e2a44830e05b80824e95047d3754de7a","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/parser/Parser.java\n#\tsrc/main/java/duke/ui/UI.java\n","fileTypesAndContributionMap":{}},{"hash":"1ad25962e0583d5cf0d9b4430bb61c0e13608256","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"# Conflicts:\n#\tsrc/main/java/duke/Duke.java\n#\tsrc/main/java/duke/commands/Command.java\n#\tsrc/main/java/duke/commands/DueCommand.java\n#\tsrc/main/java/duke/commands/HelpCommand.java\n#\tsrc/main/java/duke/commands/ListCommand.java\n#\tsrc/main/java/duke/data/TaskList.java\n#\tsrc/main/java/duke/data/exception/DukeException.java\n#\tsrc/main/java/duke/parser/Parser.java\n#\tsrc/main/java/duke/storage/Storage.java\n#\tsrc/main/java/duke/ui/UI.java\n","tags":["Level-9","A-JavaDoc","A-CodingStandard"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"ktzy0305":{"java":1823,"md":2,"fxml":0,"sh":2,"bat":3,"gradle":1,"txt":43}},"authorContributionVariance":{"ktzy0305":208200.67},"authorDisplayNameMap":{"ktzy0305":"CS2103-F13-3 KEVI..YING"}} diff --git a/lihongguang00_ip_master/commits.json b/lihongguang00_ip_master/commits.json index 88b40572..bbc0e030 100644 --- a/lihongguang00_ip_master/commits.json +++ b/lihongguang00_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"lihongguang00":[{"date":"2023-08-22","commitResults":[{"hash":"77996488885e00747141118343d1bc8033a8199d","isMergeCommit":false,"messageTitle":"Level-0a","messageBody":"Renamed Chatbot\n","tags":["Level-0a"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":6}}},{"hash":"b0f6d7e80342a6d4b38072f72faabb6a8f695870","isMergeCommit":false,"messageTitle":"Level-0b","messageBody":"Reformatted horizontal lines, added goodbye statement\n","tags":["Level-0b","Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":3}}},{"hash":"2f3e3c9075f99ef420021b93eea2174a4f8699ae","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"ChadGPT echoes commands entered by users, until user enters \u0027bye\u0027\n","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":4}}},{"hash":"d681a52cd5f80224e6948d3840c005b4c496dfa6","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"Added list feature\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":4}}}]},{"date":"2023-08-23","commitResults":[{"hash":"ed730bb80a6d14af9d82140590cf33b8d6853688","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"Added feature that allows tasks to be marked as done and undone\n","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":55,"deletions":9}}},{"hash":"467308d34943277089ab055ca738632683827c82","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"Added ToDo, Deadline, Event tasks, claned up code in main function of Duke.java\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":122,"deletions":37}}}]},{"date":"2023-08-24","commitResults":[{"hash":"a5e2cc42bce169378b73ab28dfe38536bf84c9bd","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"Included exception handling, added helper function to query status of task in task.java\n","tags":["Level-5","A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":122,"deletions":12}}},{"hash":"aaa8d498063c6b2af1822dd22258e04a3eba873d","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"Implemented delete function with relevant exception handling\n","tags":["Level-6","A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":4}}}]},{"date":"2023-08-29","commitResults":[{"hash":"071c69b61fff83320c77089fbb576cf55135d5e2","isMergeCommit":false,"messageTitle":"Level-7 v1.0","messageBody":"Under construction\n","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":16}}}]},{"date":"2023-08-30","commitResults":[{"hash":"e5066baba05b47a63d5392fbfe8bf2432fb824bf","isMergeCommit":false,"messageTitle":"Level-7 v2.0","messageBody":"Add task list memory feature\n","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":131,"deletions":18}}},{"hash":"41629e5ab68c6dafc67e3eca39750e8e4d44d294","isMergeCommit":false,"messageTitle":"Level-8 v1.0","messageBody":"Work in progress\n","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":2}}}]},{"date":"2023-08-31","commitResults":[{"hash":"cb6f4c1a3da9bab8e68b5b3bd11bc87d98ae966e","isMergeCommit":false,"messageTitle":"Level-8 v2.0","messageBody":"In progress\n","fileTypesAndContributionMap":{"java":{"insertions":102,"deletions":15}}}]},{"date":"2023-09-02","commitResults":[{"hash":"0bf569be8de2cf1df9bdbce1610778e4000e7311","isMergeCommit":false,"messageTitle":"Level-8 v3.0","messageBody":"Add feature where time and date are stored as LocalDate and LocalTime objects\n","fileTypesAndContributionMap":{"java":{"insertions":45,"deletions":16}}}]}]},"authorFileTypeContributionMap":{"lihongguang00":{"java":561,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":2}},"authorContributionVariance":{"lihongguang00":5206.0576},"authorDisplayNameMap":{"lihongguang00":"LI H..UANG"}} +{"authorDailyContributionsMap":{"lihongguang00":[{"date":"2023-08-22","commitResults":[{"hash":"77996488885e00747141118343d1bc8033a8199d","isMergeCommit":false,"messageTitle":"Level-0a","messageBody":"Renamed Chatbot\n","tags":["Level-0a"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":6}}},{"hash":"b0f6d7e80342a6d4b38072f72faabb6a8f695870","isMergeCommit":false,"messageTitle":"Level-0b","messageBody":"Reformatted horizontal lines, added goodbye statement\n","tags":["Level-0b","Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":3}}},{"hash":"2f3e3c9075f99ef420021b93eea2174a4f8699ae","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"ChadGPT echoes commands entered by users, until user enters \u0027bye\u0027\n","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":4}}},{"hash":"d681a52cd5f80224e6948d3840c005b4c496dfa6","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"Added list feature\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":4}}}]},{"date":"2023-08-23","commitResults":[{"hash":"ed730bb80a6d14af9d82140590cf33b8d6853688","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"Added feature that allows tasks to be marked as done and undone\n","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":55,"deletions":9}}},{"hash":"467308d34943277089ab055ca738632683827c82","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"Added ToDo, Deadline, Event tasks, claned up code in main function of Duke.java\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":122,"deletions":37}}}]},{"date":"2023-08-24","commitResults":[{"hash":"a5e2cc42bce169378b73ab28dfe38536bf84c9bd","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"Included exception handling, added helper function to query status of task in task.java\n","tags":["Level-5","A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":122,"deletions":12}}},{"hash":"aaa8d498063c6b2af1822dd22258e04a3eba873d","isMergeCommit":false,"messageTitle":"Level-6","messageBody":"Implemented delete function with relevant exception handling\n","tags":["Level-6","A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":4}}}]},{"date":"2023-08-29","commitResults":[{"hash":"071c69b61fff83320c77089fbb576cf55135d5e2","isMergeCommit":false,"messageTitle":"Level-7 v1.0","messageBody":"Under construction\n","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":16}}}]},{"date":"2023-08-30","commitResults":[{"hash":"e5066baba05b47a63d5392fbfe8bf2432fb824bf","isMergeCommit":false,"messageTitle":"Level-7 v2.0","messageBody":"Add task list memory feature\n","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":131,"deletions":18}}},{"hash":"41629e5ab68c6dafc67e3eca39750e8e4d44d294","isMergeCommit":false,"messageTitle":"Level-8 v1.0","messageBody":"Work in progress\n","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":2}}}]},{"date":"2023-08-31","commitResults":[{"hash":"cb6f4c1a3da9bab8e68b5b3bd11bc87d98ae966e","isMergeCommit":false,"messageTitle":"Level-8 v2.0","messageBody":"In progress\n","fileTypesAndContributionMap":{"java":{"insertions":102,"deletions":15}}}]},{"date":"2023-09-02","commitResults":[{"hash":"0bf569be8de2cf1df9bdbce1610778e4000e7311","isMergeCommit":false,"messageTitle":"Level-8 v3.0","messageBody":"Add feature where time and date are stored as LocalDate and LocalTime objects\n","fileTypesAndContributionMap":{"java":{"insertions":45,"deletions":16}}}]}]},"authorFileTypeContributionMap":{"lihongguang00":{"java":561,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":2}},"authorContributionVariance":{"lihongguang00":5206.0576},"authorDisplayNameMap":{"lihongguang00":"CS2103-F13-4 LI H..UANG"}} diff --git a/marcellaantania_ip_master/commits.json b/marcellaantania_ip_master/commits.json index 3293fdba..5c8f9cef 100644 --- a/marcellaantania_ip_master/commits.json +++ b/marcellaantania_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"marcellaantania":[{"date":"2023-08-23","commitResults":[{"hash":"be790b0b5a8662742103ea027706491d22bdd0ae","isMergeCommit":false,"messageTitle":"Name change from Duke to Thea, changed greeting and exiting message","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":10}}},{"hash":"dd21a96ab13978cc3a187a9de09ede3f4e024a72","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"620b910d4ea3368ecedc82168ff908694a434d46","isMergeCommit":false,"messageTitle":"echo function","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"f14d6fe2740b5b39d0f1c53bb4ae341bff961774","isMergeCommit":false,"messageTitle":"add, list function","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":3}}},{"hash":"3063e4d93a1dcf3e3b2746f17be737647cfe7544","isMergeCommit":false,"messageTitle":"added Task class","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":0}}},{"hash":"235c93c60d1777bcb486c9ffd7c33575d14fe244","isMergeCommit":false,"messageTitle":"integrate Thea with Task class, add mark/unmark function","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":8}}}]},{"date":"2023-08-24","commitResults":[{"hash":"5f22824c2452d21e98e4d2e0706f418e7edaa12c","isMergeCommit":false,"messageTitle":"Made three different subclasses of Task (ToDo, Deadline, Event)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":0}}},{"hash":"916a1b37f8b987ebf5d4fd20e4fe03414ae31ee4","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"e8c672585d45486a7de85221be114594eb7443d5","isMergeCommit":false,"messageTitle":"change access modifier","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"8424b3e2667c0f6f74557e2f0aaac5546c23586c","isMergeCommit":false,"messageTitle":"update Thea to support 3 types of tasks: ToDo, Deadline and Event","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":4}}},{"hash":"7ae0c237a99a3a323e7bb2c651af85a696af34fa","isMergeCommit":false,"messageTitle":"remove extra nextline","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"66786787dd2182a50c0e2a56349edf88295713f9","isMergeCommit":false,"messageTitle":"remove emoji that cannot be run","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"1b45aa47f2bfa252dcb7f4c8e538451cc4a93b62","isMergeCommit":false,"messageTitle":"Automated Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"bat":{"insertions":5,"deletions":3}}},{"hash":"af87e8f9f002220a648d30a51db13cb628e30d64","isMergeCommit":false,"messageTitle":"Thea-specific exceptions","messageBody":"","tags":["A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":0}}},{"hash":"8f639b10622b36fa74bed2f5ba3b12dcf81f2a7f","isMergeCommit":false,"messageTitle":"Update code to throw three types of thea-specific exceptions","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":16}}},{"hash":"99c4e21e2f81aeed66f57c5e004d5444f126662d","isMergeCommit":false,"messageTitle":"Add delete function","messageBody":"","tags":["Level-6","A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}}]},{"date":"2023-08-31","commitResults":[{"hash":"3db93ac8e369ff5ec267ff426ef874dce707a5b3","isMergeCommit":false,"messageTitle":"Read file functionality","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":24,"deletions":2}}},{"hash":"44f47829fb1f1c0e7a0eea3c69c6f934c5648d2d","isMergeCommit":false,"messageTitle":"Add an exception for unexpected file format","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"dfa44623d9dca43361218c93e558563b7ed1f271","isMergeCommit":false,"messageTitle":"Update Thea to retrieve data as tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":20,"deletions":5}}},{"hash":"fa7d0c58dba6baca0a7b633e02ede75c72003427","isMergeCommit":false,"messageTitle":"Write tasks to hard disk, not fully functional yet","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":3}}},{"hash":"48aa2c9a928105f625a001a6e563c2b20a5bd697","isMergeCommit":false,"messageTitle":"Update Thea and subclasses of Task to support task saving","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":55,"deletions":30}}},{"hash":"3ad456a6cb5d422e9dd6de1e0ab399abd285a62d","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"marcellaantania":{"java":283,"md":0,"fxml":0,"sh":0,"bat":5,"gradle":0,"txt":14}},"authorContributionVariance":{"marcellaantania":4617.168},"authorDisplayNameMap":{"marcellaantania":"MARC.. TAN"}} +{"authorDailyContributionsMap":{"marcellaantania":[{"date":"2023-08-23","commitResults":[{"hash":"be790b0b5a8662742103ea027706491d22bdd0ae","isMergeCommit":false,"messageTitle":"Name change from Duke to Thea, changed greeting and exiting message","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":12,"deletions":10}}},{"hash":"dd21a96ab13978cc3a187a9de09ede3f4e024a72","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"620b910d4ea3368ecedc82168ff908694a434d46","isMergeCommit":false,"messageTitle":"echo function","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":0}}},{"hash":"f14d6fe2740b5b39d0f1c53bb4ae341bff961774","isMergeCommit":false,"messageTitle":"add, list function","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":3}}},{"hash":"3063e4d93a1dcf3e3b2746f17be737647cfe7544","isMergeCommit":false,"messageTitle":"added Task class","messageBody":"","tags":["A-Classes"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":0}}},{"hash":"235c93c60d1777bcb486c9ffd7c33575d14fe244","isMergeCommit":false,"messageTitle":"integrate Thea with Task class, add mark/unmark function","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":8}}}]},{"date":"2023-08-24","commitResults":[{"hash":"5f22824c2452d21e98e4d2e0706f418e7edaa12c","isMergeCommit":false,"messageTitle":"Made three different subclasses of Task (ToDo, Deadline, Event)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":0}}},{"hash":"916a1b37f8b987ebf5d4fd20e4fe03414ae31ee4","isMergeCommit":false,"messageTitle":"Fix typo","messageBody":"","tags":["A-Inheritance"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"e8c672585d45486a7de85221be114594eb7443d5","isMergeCommit":false,"messageTitle":"change access modifier","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"8424b3e2667c0f6f74557e2f0aaac5546c23586c","isMergeCommit":false,"messageTitle":"update Thea to support 3 types of tasks: ToDo, Deadline and Event","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":4}}},{"hash":"7ae0c237a99a3a323e7bb2c651af85a696af34fa","isMergeCommit":false,"messageTitle":"remove extra nextline","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"66786787dd2182a50c0e2a56349edf88295713f9","isMergeCommit":false,"messageTitle":"remove emoji that cannot be run","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"1b45aa47f2bfa252dcb7f4c8e538451cc4a93b62","isMergeCommit":false,"messageTitle":"Automated Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"bat":{"insertions":5,"deletions":3}}},{"hash":"af87e8f9f002220a648d30a51db13cb628e30d64","isMergeCommit":false,"messageTitle":"Thea-specific exceptions","messageBody":"","tags":["A-Exceptions"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":0}}},{"hash":"8f639b10622b36fa74bed2f5ba3b12dcf81f2a7f","isMergeCommit":false,"messageTitle":"Update code to throw three types of thea-specific exceptions","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":16}}},{"hash":"99c4e21e2f81aeed66f57c5e004d5444f126662d","isMergeCommit":false,"messageTitle":"Add delete function","messageBody":"","tags":["Level-6","A-Collections"],"fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":0}}}]},{"date":"2023-08-31","commitResults":[{"hash":"3db93ac8e369ff5ec267ff426ef874dce707a5b3","isMergeCommit":false,"messageTitle":"Read file functionality","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":24,"deletions":2}}},{"hash":"44f47829fb1f1c0e7a0eea3c69c6f934c5648d2d","isMergeCommit":false,"messageTitle":"Add an exception for unexpected file format","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":0}}},{"hash":"dfa44623d9dca43361218c93e558563b7ed1f271","isMergeCommit":false,"messageTitle":"Update Thea to retrieve data as tasks","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":20,"deletions":5}}},{"hash":"fa7d0c58dba6baca0a7b633e02ede75c72003427","isMergeCommit":false,"messageTitle":"Write tasks to hard disk, not fully functional yet","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":3}}},{"hash":"48aa2c9a928105f625a001a6e563c2b20a5bd697","isMergeCommit":false,"messageTitle":"Update Thea and subclasses of Task to support task saving","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":3},"java":{"insertions":55,"deletions":30}}},{"hash":"3ad456a6cb5d422e9dd6de1e0ab399abd285a62d","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"marcellaantania":{"java":283,"md":0,"fxml":0,"sh":0,"bat":5,"gradle":0,"txt":14}},"authorContributionVariance":{"marcellaantania":4617.168},"authorDisplayNameMap":{"marcellaantania":"CS2103-F13-2 MARC.. TAN"}} diff --git a/nicrandomlee_ip_master/commits.json b/nicrandomlee_ip_master/commits.json index 5c6abf35..5d7564e7 100644 --- a/nicrandomlee_ip_master/commits.json +++ b/nicrandomlee_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"nicrandomlee":[{"date":"2023-08-22","commitResults":[{"hash":"48d7ef89cf6a3e01cc26579ba90230e8ad87475d","isMergeCommit":false,"messageTitle":"(a) Give your chatbot a new name, to differentiate it from the placeholder name Duke.","messageBody":"(b) Implement an initial skeletal version of the it that simply greets the user and exits.\nExample:\n","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}},{"hash":"2f434dfa43f812394c55b5ec0c66ab05de6bd3d7","isMergeCommit":false,"messageTitle":"Improve the skeletal version of Duke so that it echos commands entered by the user, and exits when the user types the command bye.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"5da5e0b087481334aa1d4cb383929564d5f9e53a","isMergeCommit":false,"messageTitle":"Level 2. Add, List Add the ability to store whatever text entered by the user and display them back to the user when requested.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"151d80147ff4786acbe6237cea0b195b2304e0f6","isMergeCommit":false,"messageTitle":"Level 3. Mark as Done Add the ability to mark tasks as done. Added the ability to change the status back to not done.","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":98,"deletions":22}}}]},{"date":"2023-08-25","commitResults":[{"hash":"af6c7f4bc38174c8ae59e1d4224b8a91f1a24109","isMergeCommit":false,"messageTitle":"ToDos: tasks without any date/time attached to it e.g., visit new theme park Deadlines: tasks that need to be done before a specific date/time e.g., submit report by 11/10/2019 5pm Events: tasks that start at a specific date/time and ends at a specific date/time e.g., (a) team project meeting 2/10/2019 2-4pm (b) orientation week 4/10/2019 to 11/10/2019","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":98,"deletions":11}}},{"hash":"69120ddafbf434c00fc05033db168c2f3cbc4ad1","isMergeCommit":false,"messageTitle":"Level 5. Handle Errors Teach the chatbot to deal with errors such as incorrect inputs entered by the user.","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"0026b8a2bf2fe8ac995f0799e3ee189b04c0dc16","isMergeCommit":false,"messageTitle":"Level 6. Delete Add support for deleting tasks from the list.","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":3}}},{"hash":"56fef855db2cd9a8f1400bee19f8144548f8c819","isMergeCommit":false,"messageTitle":"Patched main function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"f61da24c076227b33ad358c61d88e31b7cb1ac74","isMergeCommit":false,"messageTitle":"Added more errors handled","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":74,"deletions":64},"bat":{"insertions":1,"deletions":1}}},{"hash":"6b1b6672b02bd91c483390420142929db5bc49f1","isMergeCommit":false,"messageTitle":"Modified delete function, added more comprehensive automated test case","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"java":{"insertions":24,"deletions":7}}}]},{"date":"2023-08-29","commitResults":[{"hash":"326f8938e41c4436c58598291e1e91438daa8d33","isMergeCommit":false,"messageTitle":"-","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"0cf27eb22958af3b5a19492eac74f296362ead69","isMergeCommit":false,"messageTitle":"Added save feature","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":0}}},{"hash":"9ae9856f4908494f08b19641bda7756da94ff864","isMergeCommit":false,"messageTitle":"Implemented Load/Save feature upon booting/shutdown","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":118,"deletions":6}}}]},{"date":"2023-08-31","commitResults":[{"hash":"97cc44d6899725f13264c81148342a220d16dbd6","isMergeCommit":false,"messageTitle":"add dates and times","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":153,"deletions":1}}}]},{"date":"2023-09-01","commitResults":[{"hash":"34e148a43ede32075d0a61477b656de05031387d","isMergeCommit":false,"messageTitle":"Add Storage and TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":136}}},{"hash":"49acba3d35a573bceb363ffe279eac0f16e9299f","isMergeCommit":false,"messageTitle":"Edit Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":33}}},{"hash":"4915817ef17415b1373bf0534cf17e58a8a13a76","isMergeCommit":false,"messageTitle":"Add UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":12}}}]},{"date":"2023-09-02","commitResults":[{"hash":"7af830fab471a95d00d3d0ca8f0470fd144e4fda","isMergeCommit":false,"messageTitle":"update parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":92,"deletions":24}}},{"hash":"9920663f4bec64c76f00a759fadc264df47d90ec","isMergeCommit":false,"messageTitle":"Add LocalDateTime","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":20}}},{"hash":"c5c06cac75541e90f4d0a8b34e85c0ea8563375d","isMergeCommit":false,"messageTitle":"Add Find","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"nicrandomlee":{"java":611,"md":0,"fxml":0,"sh":0,"bat":1,"gradle":0,"txt":11}},"authorContributionVariance":{"nicrandomlee":11978.4375},"authorDisplayNameMap":{"nicrandomlee":"LEE ..OLAS"}} +{"authorDailyContributionsMap":{"nicrandomlee":[{"date":"2023-08-22","commitResults":[{"hash":"48d7ef89cf6a3e01cc26579ba90230e8ad87475d","isMergeCommit":false,"messageTitle":"(a) Give your chatbot a new name, to differentiate it from the placeholder name Duke.","messageBody":"(b) Implement an initial skeletal version of the it that simply greets the user and exits.\nExample:\n","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}},{"hash":"2f434dfa43f812394c55b5ec0c66ab05de6bd3d7","isMergeCommit":false,"messageTitle":"Improve the skeletal version of Duke so that it echos commands entered by the user, and exits when the user types the command bye.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"5da5e0b087481334aa1d4cb383929564d5f9e53a","isMergeCommit":false,"messageTitle":"Level 2. Add, List Add the ability to store whatever text entered by the user and display them back to the user when requested.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":1}}}]},{"date":"2023-08-24","commitResults":[{"hash":"151d80147ff4786acbe6237cea0b195b2304e0f6","isMergeCommit":false,"messageTitle":"Level 3. Mark as Done Add the ability to mark tasks as done. Added the ability to change the status back to not done.","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":98,"deletions":22}}}]},{"date":"2023-08-25","commitResults":[{"hash":"af6c7f4bc38174c8ae59e1d4224b8a91f1a24109","isMergeCommit":false,"messageTitle":"ToDos: tasks without any date/time attached to it e.g., visit new theme park Deadlines: tasks that need to be done before a specific date/time e.g., submit report by 11/10/2019 5pm Events: tasks that start at a specific date/time and ends at a specific date/time e.g., (a) team project meeting 2/10/2019 2-4pm (b) orientation week 4/10/2019 to 11/10/2019","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":98,"deletions":11}}},{"hash":"69120ddafbf434c00fc05033db168c2f3cbc4ad1","isMergeCommit":false,"messageTitle":"Level 5. Handle Errors Teach the chatbot to deal with errors such as incorrect inputs entered by the user.","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"0026b8a2bf2fe8ac995f0799e3ee189b04c0dc16","isMergeCommit":false,"messageTitle":"Level 6. Delete Add support for deleting tasks from the list.","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":3}}},{"hash":"56fef855db2cd9a8f1400bee19f8144548f8c819","isMergeCommit":false,"messageTitle":"Patched main function","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"f61da24c076227b33ad358c61d88e31b7cb1ac74","isMergeCommit":false,"messageTitle":"Added more errors handled","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":74,"deletions":64},"bat":{"insertions":1,"deletions":1}}},{"hash":"6b1b6672b02bd91c483390420142929db5bc49f1","isMergeCommit":false,"messageTitle":"Modified delete function, added more comprehensive automated test case","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":11,"deletions":0},"java":{"insertions":24,"deletions":7}}}]},{"date":"2023-08-29","commitResults":[{"hash":"326f8938e41c4436c58598291e1e91438daa8d33","isMergeCommit":false,"messageTitle":"-","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":0}}},{"hash":"0cf27eb22958af3b5a19492eac74f296362ead69","isMergeCommit":false,"messageTitle":"Added save feature","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":54,"deletions":0}}},{"hash":"9ae9856f4908494f08b19641bda7756da94ff864","isMergeCommit":false,"messageTitle":"Implemented Load/Save feature upon booting/shutdown","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":118,"deletions":6}}}]},{"date":"2023-08-31","commitResults":[{"hash":"97cc44d6899725f13264c81148342a220d16dbd6","isMergeCommit":false,"messageTitle":"add dates and times","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":153,"deletions":1}}}]},{"date":"2023-09-01","commitResults":[{"hash":"34e148a43ede32075d0a61477b656de05031387d","isMergeCommit":false,"messageTitle":"Add Storage and TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":136}}},{"hash":"49acba3d35a573bceb363ffe279eac0f16e9299f","isMergeCommit":false,"messageTitle":"Edit Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":51,"deletions":33}}},{"hash":"4915817ef17415b1373bf0534cf17e58a8a13a76","isMergeCommit":false,"messageTitle":"Add UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":12}}}]},{"date":"2023-09-02","commitResults":[{"hash":"7af830fab471a95d00d3d0ca8f0470fd144e4fda","isMergeCommit":false,"messageTitle":"update parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":92,"deletions":24}}},{"hash":"9920663f4bec64c76f00a759fadc264df47d90ec","isMergeCommit":false,"messageTitle":"Add LocalDateTime","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":20}}},{"hash":"c5c06cac75541e90f4d0a8b34e85c0ea8563375d","isMergeCommit":false,"messageTitle":"Add Find","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"nicrandomlee":{"java":611,"md":0,"fxml":0,"sh":0,"bat":1,"gradle":0,"txt":11}},"authorContributionVariance":{"nicrandomlee":11978.4375},"authorDisplayNameMap":{"nicrandomlee":"CS2103-F13-4 LEE ..OLAS"}} diff --git a/nixonwidjaja_ip_master/commits.json b/nixonwidjaja_ip_master/commits.json index abadc75e..abaf7f37 100644 --- a/nixonwidjaja_ip_master/commits.json +++ b/nixonwidjaja_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"nixonwidjaja":[{"date":"2023-08-19","commitResults":[{"hash":"2401621fc74ca2115f1b0e915778d736a49ff6a9","isMergeCommit":false,"messageTitle":"Rename, add greet and exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":10}}},{"hash":"2033d7c691219dfbabcde88a2d22af03c03d9673","isMergeCommit":false,"messageTitle":"Add echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":3}}},{"hash":"d1c250a00e94683e1e98fa12c4995da8cbef7ff7","isMergeCommit":false,"messageTitle":"Add tasks and list command","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":1}}},{"hash":"2d184017cb70c32f3d84b6cc9dc29fa92778c045","isMergeCommit":false,"messageTitle":"Add Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":5}}},{"hash":"60ba3e45cf1767fa48e8d2f17e897e65b02e0e87","isMergeCommit":false,"messageTitle":"Add todo, events, deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":138,"deletions":10}}},{"hash":"8328fbcd4ca662938f1972223d6590f7d6b78869","isMergeCommit":false,"messageTitle":"Add DukeException and handle errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":91,"deletions":32}}},{"hash":"17b07a0d4bd511613de2b3e8d239ccaf14d356e8","isMergeCommit":false,"messageTitle":"Delete task","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":0}}},{"hash":"610a2812a3fbc58e58c573547dfc9405b1e831df","isMergeCommit":false,"messageTitle":"Try Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":18,"deletions":0},"java":{"insertions":1,"deletions":1}}}]},{"date":"2023-08-29","commitResults":[{"hash":"81651ad1cc2cf26528d50360f287ff23fc107094","isMergeCommit":false,"messageTitle":"Add file handler to save task list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":112,"deletions":0}}},{"hash":"de719fafeffae9ecaf77ac3407e29ff47a667fd0","isMergeCommit":true,"messageTitle":"Merge pull request #1 from nixonwidjaja/branch-Level-7","messageBody":"Level-7","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"57c9b0c70eb146156810dda265493a390a1ba643","isMergeCommit":false,"messageTitle":"Enforce local date to deadline","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":21,"deletions":9}}},{"hash":"8016e5bf4fe9a81538069af052f4082391b2b9b7","isMergeCommit":true,"messageTitle":"Merge pull request #2 from nixonwidjaja/branch-Level-8","messageBody":"Enforce local date to deadline","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-30","commitResults":[{"hash":"331261a1378b18d5c7b30558694fc79a641d09e9","isMergeCommit":false,"messageTitle":"Enforce LocalDate on event","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":13}}},{"hash":"7b13d970723c5965d6b2cadfafcc76e010f9b5a3","isMergeCommit":false,"messageTitle":"Fix bug preserve mark on file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":12}}},{"hash":"b44c9e2706ed7d1ce5e55e6c746ae3f71aef7919","isMergeCommit":false,"messageTitle":"Stretch goal: Print events on specific date","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":64,"deletions":17}}},{"hash":"007ea08ca9d528de9be4a2112ad35585d1960ee1","isMergeCommit":false,"messageTitle":"Extract out Ui, Storage, Parser, TaskList","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":334,"deletions":261}}},{"hash":"926807334034d25222ff10095d50a682eceed85c","isMergeCommit":false,"messageTitle":"Move queryList to Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":11}}},{"hash":"94faf233a132d4a42ae96743d1d22daa2437a86f","isMergeCommit":false,"messageTitle":"Organize into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":37}}},{"hash":"046ffeb0354db29445e4a45f55c7757389883a6b","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into add-packages","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"af4aa6658527534f8c3f1633783475984c02819c","isMergeCommit":false,"messageTitle":"Setup Gradle","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"565e78019e1be691f365948929677f0236d3aceb","isMergeCommit":true,"messageTitle":"Merge pull request #3 from nixonwidjaja/add-packages","messageBody":"Organize into packages and setup Gradle","tags":["A-Packages","A-Gradle","A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"e42954267f6037390b5429df56d7c827242c6289","isMergeCommit":false,"messageTitle":"Add find functionality","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":3}}}]},{"date":"2023-08-31","commitResults":[{"hash":"854971092526d224a4eba17edbf702bad6a472f0","isMergeCommit":false,"messageTitle":"Fix directories","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":0}}},{"hash":"7eb3970161c84aa60237cebd08d36c89e9fcd69c","isMergeCommit":true,"messageTitle":"Merge pull request #4 from nixonwidjaja/branch-Level-9","messageBody":"Fix directories","fileTypesAndContributionMap":{}},{"hash":"36529ef9074cbb5da9e20785a9cb035f81e73ffd","isMergeCommit":false,"messageTitle":"Add JavaDoc","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":3}}},{"hash":"ddd6631b72010b7f4ef5f1684d5c18140556bf0d","isMergeCommit":true,"messageTitle":"Merge pull request #5 from nixonwidjaja/branch-A-JavaDoc","messageBody":"Add JavaDoc","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"e2cdeff31e8b01981576c74cdeb6ec9a0885fe68","isMergeCommit":false,"messageTitle":"Add JavaDoc for classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"882f74419137277548dbd4288cf0ab3a0c31351e","isMergeCommit":true,"messageTitle":"Merge pull request #6 from nixonwidjaja/branch-A-CodingStandard","messageBody":"Add JavaDoc for classes","fileTypesAndContributionMap":{}},{"hash":"cbca474cab65f0f9f91bcb593527df63d77b1124","isMergeCommit":false,"messageTitle":"Add JUnit tests","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"nixonwidjaja":{"java":860,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":19}},"authorContributionVariance":{"nixonwidjaja":67347.086},"authorDisplayNameMap":{"nixonwidjaja":"NIXO..JAJA"}} +{"authorDailyContributionsMap":{"nixonwidjaja":[{"date":"2023-08-19","commitResults":[{"hash":"2401621fc74ca2115f1b0e915778d736a49ff6a9","isMergeCommit":false,"messageTitle":"Rename, add greet and exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":10}}},{"hash":"2033d7c691219dfbabcde88a2d22af03c03d9673","isMergeCommit":false,"messageTitle":"Add echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":8,"deletions":3}}},{"hash":"d1c250a00e94683e1e98fa12c4995da8cbef7ff7","isMergeCommit":false,"messageTitle":"Add tasks and list command","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":1}}},{"hash":"2d184017cb70c32f3d84b6cc9dc29fa92778c045","isMergeCommit":false,"messageTitle":"Add Mark as Done","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":5}}},{"hash":"60ba3e45cf1767fa48e8d2f17e897e65b02e0e87","isMergeCommit":false,"messageTitle":"Add todo, events, deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":138,"deletions":10}}},{"hash":"8328fbcd4ca662938f1972223d6590f7d6b78869","isMergeCommit":false,"messageTitle":"Add DukeException and handle errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":91,"deletions":32}}},{"hash":"17b07a0d4bd511613de2b3e8d239ccaf14d356e8","isMergeCommit":false,"messageTitle":"Delete task","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":19,"deletions":0}}},{"hash":"610a2812a3fbc58e58c573547dfc9405b1e831df","isMergeCommit":false,"messageTitle":"Try Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":18,"deletions":0},"java":{"insertions":1,"deletions":1}}}]},{"date":"2023-08-29","commitResults":[{"hash":"81651ad1cc2cf26528d50360f287ff23fc107094","isMergeCommit":false,"messageTitle":"Add file handler to save task list","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":112,"deletions":0}}},{"hash":"de719fafeffae9ecaf77ac3407e29ff47a667fd0","isMergeCommit":true,"messageTitle":"Merge pull request #1 from nixonwidjaja/branch-Level-7","messageBody":"Level-7","tags":["Level-7"],"fileTypesAndContributionMap":{}},{"hash":"57c9b0c70eb146156810dda265493a390a1ba643","isMergeCommit":false,"messageTitle":"Enforce local date to deadline","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":21,"deletions":9}}},{"hash":"8016e5bf4fe9a81538069af052f4082391b2b9b7","isMergeCommit":true,"messageTitle":"Merge pull request #2 from nixonwidjaja/branch-Level-8","messageBody":"Enforce local date to deadline","tags":["Level-8"],"fileTypesAndContributionMap":{}}]},{"date":"2023-08-30","commitResults":[{"hash":"331261a1378b18d5c7b30558694fc79a641d09e9","isMergeCommit":false,"messageTitle":"Enforce LocalDate on event","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":13}}},{"hash":"7b13d970723c5965d6b2cadfafcc76e010f9b5a3","isMergeCommit":false,"messageTitle":"Fix bug preserve mark on file","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":12}}},{"hash":"b44c9e2706ed7d1ce5e55e6c746ae3f71aef7919","isMergeCommit":false,"messageTitle":"Stretch goal: Print events on specific date","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":64,"deletions":17}}},{"hash":"007ea08ca9d528de9be4a2112ad35585d1960ee1","isMergeCommit":false,"messageTitle":"Extract out Ui, Storage, Parser, TaskList","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":334,"deletions":261}}},{"hash":"926807334034d25222ff10095d50a682eceed85c","isMergeCommit":false,"messageTitle":"Move queryList to Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":11}}},{"hash":"94faf233a132d4a42ae96743d1d22daa2437a86f","isMergeCommit":false,"messageTitle":"Organize into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":37}}},{"hash":"046ffeb0354db29445e4a45f55c7757389883a6b","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/add-gradle-support\u0027 into add-packages","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"af4aa6658527534f8c3f1633783475984c02819c","isMergeCommit":false,"messageTitle":"Setup Gradle","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"565e78019e1be691f365948929677f0236d3aceb","isMergeCommit":true,"messageTitle":"Merge pull request #3 from nixonwidjaja/add-packages","messageBody":"Organize into packages and setup Gradle","tags":["A-Packages","A-Gradle","A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"e42954267f6037390b5429df56d7c827242c6289","isMergeCommit":false,"messageTitle":"Add find functionality","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":3}}}]},{"date":"2023-08-31","commitResults":[{"hash":"854971092526d224a4eba17edbf702bad6a472f0","isMergeCommit":false,"messageTitle":"Fix directories","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":0}}},{"hash":"7eb3970161c84aa60237cebd08d36c89e9fcd69c","isMergeCommit":true,"messageTitle":"Merge pull request #4 from nixonwidjaja/branch-Level-9","messageBody":"Fix directories","fileTypesAndContributionMap":{}},{"hash":"36529ef9074cbb5da9e20785a9cb035f81e73ffd","isMergeCommit":false,"messageTitle":"Add JavaDoc","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":3}}},{"hash":"ddd6631b72010b7f4ef5f1684d5c18140556bf0d","isMergeCommit":true,"messageTitle":"Merge pull request #5 from nixonwidjaja/branch-A-JavaDoc","messageBody":"Add JavaDoc","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{}},{"hash":"e2cdeff31e8b01981576c74cdeb6ec9a0885fe68","isMergeCommit":false,"messageTitle":"Add JavaDoc for classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":30,"deletions":0}}},{"hash":"882f74419137277548dbd4288cf0ab3a0c31351e","isMergeCommit":true,"messageTitle":"Merge pull request #6 from nixonwidjaja/branch-A-CodingStandard","messageBody":"Add JavaDoc for classes","fileTypesAndContributionMap":{}},{"hash":"cbca474cab65f0f9f91bcb593527df63d77b1124","isMergeCommit":false,"messageTitle":"Add JUnit tests","messageBody":"","tags":["A-Jar","A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"nixonwidjaja":{"java":860,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":1,"txt":19}},"authorContributionVariance":{"nixonwidjaja":67347.086},"authorDisplayNameMap":{"nixonwidjaja":"CS2103-F13-2 NIXO..JAJA"}} diff --git a/proto-aiken-13_ip_master/authorship.json b/proto-aiken-13_ip_master/authorship.json index 11e06a03..b659f859 100644 --- a/proto-aiken-13_ip_master/authorship.json +++ b/proto-aiken-13_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"public class Deadline extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":" * The due date for an instance of a Deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" protected String by;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates an instance of a Deadline task class.","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" * @param taskname Name of the task.","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" * @param by Due date.","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" public Deadline(String taskname, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" super(taskname);","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the Deadline task and its status.","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of the Deadline task and its current status.","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.by + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":27}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" * The Duke class helps to manage all messages sent by the user to the chatbot accordingly.","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" /**The list, which would be used to store all the tasks inputted by the user.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" private DukeList list \u003d new DukeList();","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" * The main class for which the chatbot runs.","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" * @param args The inputs given by the user in the command prompt.","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" Duke lati \u003d new Duke();","lastModifiedDate":"2023-08-22"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" lati.greet();","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" Scanner scan \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" String comd \u003d scan.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" while (!comd.equals(\"bye\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" lati.messageHandler(comd);","lastModifiedDate":"2023-08-22"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" comd \u003d scan.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" lati.bye();","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" * Sends a greeting message to the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":" public void greet() {","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":" \" Hellooooooooooo! I\u0027m Lati!\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" \" What can I do for you? :3\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" * Sends a goodbye message to the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" public void bye() {","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\" Byeeeeee. Hope to see you again soon~~\\n\" +","lastModifiedDate":"2023-08-22"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to parse and manage the user\u0027s inputs. \"list\" shows the current list, \"mark / unmark\"","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":" * helps to mark or unmark the specific task in the list, and todo/deadline/event","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"proto-aiken-13"},"content":" * adds todo/deadline/event tasks respectively.","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":55,"author":{"gitId":"proto-aiken-13"},"content":" * @param tally takes in the input string.","lastModifiedDate":"2023-08-23"},{"lineNumber":56,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":57,"author":{"gitId":"proto-aiken-13"},"content":" public void messageHandler(String tally) {","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"proto-aiken-13"},"content":" String comd \u003d tally.split(\" \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"proto-aiken-13"},"content":" switch (comd) {","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"proto-aiken-13"},"content":" case \"list\":","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"proto-aiken-13"},"content":" list.display();","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"proto-aiken-13"},"content":" case \"todo\":","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"proto-aiken-13"},"content":" Pattern todocmd \u003d Pattern.compile(\"todo (.+)\");","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"proto-aiken-13"},"content":" Matcher mt \u003d todocmd.matcher(tally);","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"proto-aiken-13"},"content":" if (this.groupRun(mt, 1)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"proto-aiken-13"},"content":" list.store(mt.group(1));","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"proto-aiken-13"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Whoops, wrong command! Type todo \u003ctask\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"proto-aiken-13"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"proto-aiken-13"},"content":" Pattern deadlinecmd \u003d Pattern.compile(\"deadline (.+) /by (.+)\");","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"proto-aiken-13"},"content":" Matcher md \u003d deadlinecmd.matcher(tally);","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"proto-aiken-13"},"content":" if (this.groupRun(md, 2)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"proto-aiken-13"},"content":" list.store(md.group(1), md.group(2));","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"proto-aiken-13"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Whoops, wrong command! Type deadline \u003ctask\u003e /by \u003cdate\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":80,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":81,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"proto-aiken-13"},"content":" case \"event\":","lastModifiedDate":"2023-08-24"},{"lineNumber":83,"author":{"gitId":"proto-aiken-13"},"content":" Pattern eventcmd \u003d Pattern.compile(\"event (.+) /from (.+) /to (.+)\");","lastModifiedDate":"2023-08-24"},{"lineNumber":84,"author":{"gitId":"proto-aiken-13"},"content":" Matcher ml \u003d eventcmd.matcher(tally);","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"proto-aiken-13"},"content":" if (this.groupRun(ml, 3)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":86,"author":{"gitId":"proto-aiken-13"},"content":" list.store(ml.group(1), ml.group(2), ml.group(3));","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"proto-aiken-13"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":88,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Whoops, wrong command! Type event \u003ctask\u003e /\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":89,"author":{"gitId":"proto-aiken-13"},"content":" \"from \u003cdate\u003e /to \u003cdate\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":91,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"proto-aiken-13"},"content":" case \"mark\":","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"proto-aiken-13"},"content":" String indexmark \u003d tally.split(\" \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"proto-aiken-13"},"content":" list.mark(Integer.parseInt(indexmark));","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"proto-aiken-13"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Ehh? What do you want to mark? Type mark \u003cindex\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":99,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"proto-aiken-13"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"proto-aiken-13"},"content":" String indexunmark \u003d tally.split(\" \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"proto-aiken-13"},"content":" list.mark(Integer.parseInt(indexunmark));","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"proto-aiken-13"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Ehh? What do you want to mark? Type unmark \u003cindex\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":106,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":107,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":108,"author":{"gitId":"proto-aiken-13"},"content":" case \"delete\":","lastModifiedDate":"2023-08-24"},{"lineNumber":109,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"proto-aiken-13"},"content":" String indexunmark \u003d tally.split(\" \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"proto-aiken-13"},"content":" list.delete(Integer.parseInt(indexunmark));","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"proto-aiken-13"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Ehh? What do you want to mark? Type remove \u003cindex\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":115,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"proto-aiken-13"},"content":" default:","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Error, unknown command.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"proto-aiken-13"},"content":" * Recursively runs the matches() method on a given matcher n times.","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"proto-aiken-13"},"content":" * @param m The matcher object","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"proto-aiken-13"},"content":" * @param n number of times it has to run","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"proto-aiken-13"},"content":" * @return the boolean value of all matches() run recursively.","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"proto-aiken-13"},"content":" private boolean groupRun(Matcher m, int n) {","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"proto-aiken-13"},"content":" return n \u003d\u003d 0 ? false : n \u003d\u003d 1 ? m.matches() : m.matches() \u0026\u0026 groupRun(m, n - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":130,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":131,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":132,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":133,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"proto-aiken-13":128,"-":5}},{"path":"src/main/java/DukeList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":" * DukeList stores tasks given by users when communicating with the main Duke chatbot.","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"public class DukeList {","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" /**The ArrayList used to store all tasks accordingly, up to a total of 100 tasks*/","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" private ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to store user todo tasks into the list.","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" * @param task takes in the task given by the user.","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" public void store(String task) {","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" Task todo \u003d new ToDo(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Added! You want to: \" + task + \"\\n\" +","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to store user deadline tasks and deadlines into the list.","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" * @param task takes in the task given by the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" * @param by takes in the deadline of the deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" public void store(String task, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" Task todo \u003d new Deadline(task, by);","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Added! You want to: \" + task + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to store user event tasks and start / end dates into the list.","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" * @param task takes in the task given by the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" * @param start takes in the start of the deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" * @param end takes in the end date of the store task.","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" public void store(String task, String start, String end) {","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"proto-aiken-13"},"content":" Task todo \u003d new Event(task, start, end);","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Added! You want to: \" + task + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":54,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":55,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":56,"author":{"gitId":"proto-aiken-13"},"content":" * Displays all contents of the list stored within an instance of DukeList.","lastModifiedDate":"2023-08-23"},{"lineNumber":57,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":58,"author":{"gitId":"proto-aiken-13"},"content":" public void display() {","lastModifiedDate":"2023-08-23"},{"lineNumber":59,"author":{"gitId":"proto-aiken-13"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"proto-aiken-13"},"content":" int curr \u003d i + 1;","lastModifiedDate":"2023-08-23"},{"lineNumber":61,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(curr + \". \" + tasks.get(i).toString() +\"\\n\");","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":63,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":64,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":65,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":66,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":68,"author":{"gitId":"proto-aiken-13"},"content":" * Marks the i-th task as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":69,"author":{"gitId":"proto-aiken-13"},"content":" * @param i takes in the index of the task to be set as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":70,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":71,"author":{"gitId":"proto-aiken-13"},"content":" public void mark(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":72,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).done();","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":74,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"NICEEEEE. Good job on completing the task!\\n\" +","lastModifiedDate":"2023-08-23"},{"lineNumber":75,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":77,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":78,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":79,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"proto-aiken-13"},"content":" * Marks the i-th task as undone.","lastModifiedDate":"2023-08-23"},{"lineNumber":81,"author":{"gitId":"proto-aiken-13"},"content":" * @param i takes in the index of the task to be set as undone.","lastModifiedDate":"2023-08-23"},{"lineNumber":82,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"proto-aiken-13"},"content":" public void unmark(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":84,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).undo();","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":86,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Ohhh... uhm, okay, task undone!\\n\" +","lastModifiedDate":"2023-08-23"},{"lineNumber":87,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":88,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":89,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":91,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"proto-aiken-13"},"content":" * Removes the i-th.","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"proto-aiken-13"},"content":" * @param i takes in the index of the task to be removed.","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"proto-aiken-13"},"content":" public void delete(int i) {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"proto-aiken-13"},"content":" Task task \u003d tasks.remove(i - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Guess you don\u0027t want to do that anymore: \" + task.toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":102,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":103,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"proto-aiken-13":103}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"public class Event extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" * Start timing for the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":" protected String start;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" * End timing for the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" protected String end;","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates an instance of the Event task class.","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" * @param classname name of the event.","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" * @param start the starting time of the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" * @param end the ending time of the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" public Event(String classname, String start, String end) {","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" super(classname);","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" this.start \u003d start;","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" this.end \u003d end;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the Event task and its status.","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of the Event task and its current status.","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" return \"[E]\" + super.toString() + \" (From: \" + this.start + \" to: \" + this.end + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":34}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" * Tasks are the tasks sent by the user to the Duke class","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"public class Task {","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" /**The name of the task.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" private String taskname;","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" /**Status on whether the task is done or not.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" private boolean taskstatus;","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" /**Instantiates an instance of a task.","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" * @param taskname takes in the name of the task.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" public Task(String taskname) {","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" this.taskname \u003d taskname;","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" this.taskstatus \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" * Sets the current task as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" public void done() {","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" this.taskstatus \u003d true;","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" * Sets the current task as not done.","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" public void undo() {","lastModifiedDate":"2023-08-23"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" this.taskstatus \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the task and its status.","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of task and its current status.","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + taskname;","lastModifiedDate":"2023-08-23"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the status of the current task.","lastModifiedDate":"2023-08-23"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" * @return Status of the current task.","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-23"},{"lineNumber":48,"author":{"gitId":"proto-aiken-13"},"content":" return (taskstatus ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-23"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"proto-aiken-13":52}},{"path":"src/main/java/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"public class ToDo extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates an instance of a ToDo task class.","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":" * @param taskname the name of the task.","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" public ToDo(String taskname) {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" super(taskname);","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the ToDo task and its status.","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of the ToDo task and its current status.","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":22}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"todo steal the declaration of independence","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"deadline fix the ceiling /by Sunday 12 pm","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"event rocket jumping competition /from Tuesday 9 am /to Tuesday 3 pm","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":"mark 3","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":"unmark 3","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"remove 3","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":"mark -2","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":"unmark -2","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":"deadline error","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":"event error","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":"todo error","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":17}}] +[{"path":"src/main/java/DataSaver.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.EOFException;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.FileInputStream;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.FileOutputStream;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.ObjectInputStream;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.ObjectOutputStream;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" * This is the class used to load and store data into the data.s file.","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":"public class DataSaver {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" //The path directory of test.s","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" private String path;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" * Returns an instance of DataSaver.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" * @param path the directory of test.s.","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" public DataSaver(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" this.path \u003d path;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" File file \u003d new File(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" File parent \u003d file.getParentFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" if (!parent.exists()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" parent.mkdirs();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" if (!file.exists()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" file.createNewFile();","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"File creation failed... \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":" * Stores all tasks into the test.h file.","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":" * @param tasks the list of all tasks.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" public void store(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" ObjectOutputStream outStore \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" FileOutputStream fileOut \u003d new FileOutputStream(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":" outStore \u003d new ObjectOutputStream(fileOut);","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":" outStore.writeObject(tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"proto-aiken-13"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Error loading file! \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"proto-aiken-13"},"content":" } finally {","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"proto-aiken-13"},"content":" if (outStore !\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"proto-aiken-13"},"content":" outStore.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"proto-aiken-13"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Error loading file! \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"proto-aiken-13"},"content":" * Loads all tasks from the data.s file.","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"proto-aiken-13"},"content":" * @return The list of tasks found in the data.s file.","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"proto-aiken-13"},"content":" @SuppressWarnings(\"unchecked\")","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"proto-aiken-13"},"content":" // Suppresses unchecked cast warning because we know the deserialized object is an ArrayList\u003cTask\u003e.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"proto-aiken-13"},"content":" public ArrayList\u003cTask\u003e load() {","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"proto-aiken-13"},"content":" ArrayList\u003cTask\u003e allTasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"proto-aiken-13"},"content":" ObjectInputStream inputStream \u003d null;","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"proto-aiken-13"},"content":" FileInputStream fileInput \u003d new FileInputStream(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"proto-aiken-13"},"content":" inputStream \u003d new ObjectInputStream(fileInput);","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"proto-aiken-13"},"content":" allTasks \u003d (ArrayList\u003cTask\u003e) inputStream.readObject();","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"proto-aiken-13"},"content":" } catch (EOFException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"proto-aiken-13"},"content":" //The error indicates a lack of tasks available, so we can just return allTasks as an empty list.","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"proto-aiken-13"},"content":" return allTasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"proto-aiken-13"},"content":" } catch (IOException | ClassNotFoundException c) {","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Error loading file! \" + c.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"proto-aiken-13"},"content":" } finally {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"proto-aiken-13"},"content":" if (inputStream !\u003d null) {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"proto-aiken-13"},"content":" inputStream.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"proto-aiken-13"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Error loading file! \" + e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"proto-aiken-13"},"content":" return allTasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"proto-aiken-13":101}},{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":" * Deadline tasks have a due date in addition to their task and status.","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" * The due date for an instance of a Deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" protected String byDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates an instance of a Deadline task class.","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" * @param taskname Name of the task.","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" * @param byDate Due date.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" public Deadline(String taskname, String byDate) {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" super(taskname);","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" this.byDate \u003d byDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the Deadline task and its status.","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of the Deadline task, due date and its current status.","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" return \"[D]\" + super.toString() + \" (by: \" + this.byDate + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":30}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" * The Duke class helps to manage all messages sent by the user to the chatbot accordingly.","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" /**The list, which would be used to store all the tasks inputted by the user.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" private DukeList list;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" public Duke(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" this.list \u003d new DukeList(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" * The main class for which the chatbot runs.","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" * @param args The inputs given by the user in the command prompt.","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" final String DATA_DIRECTORY \u003d \"data\";","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" String projectRoot \u003d System.getProperty(\"user.dir\");","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" String dataFilePath \u003d projectRoot + \"/\" + DATA_DIRECTORY + \"/tasks.s\";","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" Duke lati \u003d new Duke(dataFilePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" lati.greet();","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" Scanner scan \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" String comd \u003d scan.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" while (!comd.equals(\"bye\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":" lati.messageHandler(comd);","lastModifiedDate":"2023-08-22"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":" comd \u003d scan.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" lati.bye();","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":" * Sends a greeting message to the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" public void greet() {","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"____________________________________________________________\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" \" Hellooooooooooo! I\u0027m Lati!\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" \" What can I do for you? :3\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":" * Sends a goodbye message to the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"proto-aiken-13"},"content":" public void bye() {","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"proto-aiken-13"},"content":" this.list.save();","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\" Byeeeeee. Hope to see you again soon~~\\n\" +","lastModifiedDate":"2023-08-22"},{"lineNumber":57,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":59,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":60,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":61,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to parse and manage the user\u0027s inputs. \"list\" shows the current list, \"mark / unmark\"","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"proto-aiken-13"},"content":" * helps to mark or unmark the specific task in the list, and todo/deadline/event","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"proto-aiken-13"},"content":" * adds todo/deadline/event tasks respectively.","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":65,"author":{"gitId":"proto-aiken-13"},"content":" * @param tally takes in the input string.","lastModifiedDate":"2023-08-23"},{"lineNumber":66,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":67,"author":{"gitId":"proto-aiken-13"},"content":" public void messageHandler(String tally) {","lastModifiedDate":"2023-08-22"},{"lineNumber":68,"author":{"gitId":"proto-aiken-13"},"content":" String comd \u003d tally.split(\" \")[0];","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"proto-aiken-13"},"content":" switch (comd) {","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"proto-aiken-13"},"content":" case \"list\":","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"proto-aiken-13"},"content":" list.display();","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"proto-aiken-13"},"content":" case \"todo\":","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"proto-aiken-13"},"content":" Pattern todoCmd \u003d Pattern.compile(\"todo (.+)\");","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"proto-aiken-13"},"content":" Matcher mt \u003d todoCmd.matcher(tally);","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"proto-aiken-13"},"content":" if (this.groupRun(mt, 1)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"proto-aiken-13"},"content":" list.store(mt.group(1));","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"proto-aiken-13"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":80,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Whoops, wrong command! Type todo \u003ctask\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":81,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":83,"author":{"gitId":"proto-aiken-13"},"content":" case \"deadline\":","lastModifiedDate":"2023-08-24"},{"lineNumber":84,"author":{"gitId":"proto-aiken-13"},"content":" Pattern deadlineCmd \u003d Pattern.compile(\"deadline (.+) /by (.+)\");","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"proto-aiken-13"},"content":" Matcher md \u003d deadlineCmd.matcher(tally);","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"proto-aiken-13"},"content":" if (this.groupRun(md, 2)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"proto-aiken-13"},"content":" list.store(md.group(1), md.group(2));","lastModifiedDate":"2023-08-24"},{"lineNumber":88,"author":{"gitId":"proto-aiken-13"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":89,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Whoops, wrong command! Type deadline \u003ctask\u003e /by \u003cdate\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":91,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"proto-aiken-13"},"content":" case \"event\":","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"proto-aiken-13"},"content":" Pattern eventCmd \u003d Pattern.compile(\"event (.+) /from (.+) /to (.+)\");","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"proto-aiken-13"},"content":" Matcher ml \u003d eventCmd.matcher(tally);","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"proto-aiken-13"},"content":" if (this.groupRun(ml, 3)) {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"proto-aiken-13"},"content":" list.store(ml.group(1), ml.group(2), ml.group(3));","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"proto-aiken-13"},"content":" } else {","lastModifiedDate":"2023-08-23"},{"lineNumber":98,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Whoops, wrong command! Type event \u003ctask\u003e /\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"proto-aiken-13"},"content":" \"from \u003cdate\u003e /to \u003cdate\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":101,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"proto-aiken-13"},"content":" case \"mark\":","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"proto-aiken-13"},"content":" String indexMark \u003d tally.split(\" \")[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"proto-aiken-13"},"content":" list.mark(Integer.parseInt(indexMark));","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"proto-aiken-13"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Ehh? What do you want to mark? Type mark \u003cindex\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":108,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":109,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"proto-aiken-13"},"content":" case \"unmark\":","lastModifiedDate":"2023-08-24"},{"lineNumber":111,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":112,"author":{"gitId":"proto-aiken-13"},"content":" String indexunmark \u003d tally.split(\" \")[1];","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"proto-aiken-13"},"content":" list.mark(Integer.parseInt(indexunmark));","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"proto-aiken-13"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":115,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Ehh? What do you want to mark? Type unmark \u003cindex\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":117,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"proto-aiken-13"},"content":" case \"delete\":","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"proto-aiken-13"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"proto-aiken-13"},"content":" String indexUnmark \u003d tally.split(\" \")[1];","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"proto-aiken-13"},"content":" list.delete(Integer.parseInt(indexUnmark));","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"proto-aiken-13"},"content":" } catch (NullPointerException e) {","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Ehh? What do you want to mark? Type remove \u003cindex\u003e\");","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"proto-aiken-13"},"content":" break;","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"proto-aiken-13"},"content":" default:","lastModifiedDate":"2023-08-24"},{"lineNumber":127,"author":{"gitId":"proto-aiken-13"},"content":" throw new IllegalArgumentException(\"Error, unknown command.\");","lastModifiedDate":"2023-08-24"},{"lineNumber":128,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":129,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":130,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":131,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":132,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":133,"author":{"gitId":"proto-aiken-13"},"content":" * Recursively runs the matches() method on a given matcher n times.","lastModifiedDate":"2023-08-24"},{"lineNumber":134,"author":{"gitId":"proto-aiken-13"},"content":" * @param m The matcher object","lastModifiedDate":"2023-08-24"},{"lineNumber":135,"author":{"gitId":"proto-aiken-13"},"content":" * @param n number of times it has to run","lastModifiedDate":"2023-08-24"},{"lineNumber":136,"author":{"gitId":"proto-aiken-13"},"content":" * @return the boolean value of all matches() run recursively.","lastModifiedDate":"2023-08-24"},{"lineNumber":137,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":138,"author":{"gitId":"proto-aiken-13"},"content":" private boolean groupRun(Matcher m, int n) {","lastModifiedDate":"2023-08-24"},{"lineNumber":139,"author":{"gitId":"proto-aiken-13"},"content":" return n \u003d\u003d 0 ? false : n \u003d\u003d 1 ? m.matches() : m.matches() \u0026\u0026 groupRun(m, n - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":141,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":142,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"proto-aiken-13":138,"-":5}},{"path":"src/main/java/DukeList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" * DukeList stores tasks given by users when communicating with the main Duke chatbot.","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":"public class DukeList {","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" //The ArrayList used to store all tasks accordingly.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" private ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" //The path directory to test.s","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" private String path ;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" //The DataSaver class used to transmit and store information during the use of the Duke class","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" private DataSaver middleman;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates a new DukeList.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" * @param path path directory for the test.s file.","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" public DukeList(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" this.path \u003d path;","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" this.middleman \u003d new DataSaver(path);","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" tasks \u003d middleman.load();","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" * Saves the data stored in the DukeList into the data.s file.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" public void save() {","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" middleman.store(this.tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to store user todo tasks into the list.","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":" * @param task takes in the task given by the user.","lastModifiedDate":"2023-08-23"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":" public void store(String task) {","lastModifiedDate":"2023-08-23"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":" Task todo \u003d new ToDo(task);","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Added! You want to: \" + task + \"\\n\" +","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to store user deadline tasks and deadlines into the list.","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"proto-aiken-13"},"content":" * @param task takes in the task given by the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"proto-aiken-13"},"content":" * @param by takes in the deadline of the deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"proto-aiken-13"},"content":" public void store(String task, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"proto-aiken-13"},"content":" Task todo \u003d new Deadline(task, by);","lastModifiedDate":"2023-08-24"},{"lineNumber":58,"author":{"gitId":"proto-aiken-13"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Added! You want to: \" + task + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"proto-aiken-13"},"content":" * Helps to store user event tasks and start / end dates into the list.","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"proto-aiken-13"},"content":" * @param task takes in the task given by the user.","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"proto-aiken-13"},"content":" * @param start takes in the start of the deadline task.","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"proto-aiken-13"},"content":" * @param end takes in the end date of the store task.","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"proto-aiken-13"},"content":" public void store(String task, String start, String end) {","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"proto-aiken-13"},"content":" Task todo \u003d new Event(task, start, end);","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"proto-aiken-13"},"content":" tasks.add(todo);","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Added! You want to: \" + task + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":79,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":80,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":81,"author":{"gitId":"proto-aiken-13"},"content":" * Displays all contents of the list stored within an instance of DukeList.","lastModifiedDate":"2023-08-23"},{"lineNumber":82,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"proto-aiken-13"},"content":" public void display() {","lastModifiedDate":"2023-08-23"},{"lineNumber":84,"author":{"gitId":"proto-aiken-13"},"content":" for (int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"proto-aiken-13"},"content":" int curr \u003d i + 1;","lastModifiedDate":"2023-08-23"},{"lineNumber":86,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(curr + \". \" + tasks.get(i).toString() +\"\\n\");","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":88,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":89,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":90,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":91,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":92,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":93,"author":{"gitId":"proto-aiken-13"},"content":" * Marks the i-th task as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":94,"author":{"gitId":"proto-aiken-13"},"content":" * @param i takes in the index of the task to be set as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":95,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":96,"author":{"gitId":"proto-aiken-13"},"content":" public void mark(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":97,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).done();","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":99,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"NICEEEEE. Good job on completing the task!\\n\" +","lastModifiedDate":"2023-08-23"},{"lineNumber":100,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":102,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":103,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":104,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":105,"author":{"gitId":"proto-aiken-13"},"content":" * Marks the i-th task as undone.","lastModifiedDate":"2023-08-23"},{"lineNumber":106,"author":{"gitId":"proto-aiken-13"},"content":" * @param i takes in the index of the task to be set as undone.","lastModifiedDate":"2023-08-23"},{"lineNumber":107,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":108,"author":{"gitId":"proto-aiken-13"},"content":" public void unmark(int i) {","lastModifiedDate":"2023-08-23"},{"lineNumber":109,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).undo();","lastModifiedDate":"2023-08-24"},{"lineNumber":110,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":111,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Ohhh... uhm, okay, task undone!\\n\" +","lastModifiedDate":"2023-08-23"},{"lineNumber":112,"author":{"gitId":"proto-aiken-13"},"content":" tasks.get(i - 1).toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":113,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":114,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":115,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":116,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":117,"author":{"gitId":"proto-aiken-13"},"content":" * Removes the i-th.","lastModifiedDate":"2023-08-24"},{"lineNumber":118,"author":{"gitId":"proto-aiken-13"},"content":" * @param i takes in the index of the task to be removed.","lastModifiedDate":"2023-08-24"},{"lineNumber":119,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":120,"author":{"gitId":"proto-aiken-13"},"content":" public void delete(int i) {","lastModifiedDate":"2023-08-24"},{"lineNumber":121,"author":{"gitId":"proto-aiken-13"},"content":" Task task \u003d tasks.remove(i - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":122,"author":{"gitId":"proto-aiken-13"},"content":" int index \u003d tasks.size();","lastModifiedDate":"2023-08-24"},{"lineNumber":123,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":124,"author":{"gitId":"proto-aiken-13"},"content":" System.out.println(\"Guess you don\u0027t want to do that anymore: \" + task.toString() + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":125,"author":{"gitId":"proto-aiken-13"},"content":" \"Now you have \" + index + (index \u003e 1 ? \" tasks!\" : \" task!\") + \"\\n\" +","lastModifiedDate":"2023-08-24"},{"lineNumber":126,"author":{"gitId":"proto-aiken-13"},"content":" \"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":127,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":128,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"proto-aiken-13":128}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":" * Event is a type of Task that has both a start and end date, in addition to their name and status.","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"public class Event extends Task {","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":" //Start timing for the event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" protected String start;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" //End timing for the event task.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" protected String end;","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates an instance of the Event task class.","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" * @param classname name of the event.","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" * @param start the starting time of the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" * @param end the ending time of the event task.","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" public Event(String classname, String start, String end) {","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" super(classname);","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" this.start \u003d start;","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" this.end \u003d end;","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the Event task and its status.","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of the Event task and its current status.","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" return \"[E]\" + super.toString() + \" (From: \" + this.start + \" to: \" + this.end + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":33}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"import java.io.Serializable;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-08-23"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":" * Tasks are the tasks sent by the user to the Duke class","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"public class Task implements Serializable {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" /**The name of the task.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" private String taskname;","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" /**Status on whether the task is done or not.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" private boolean taskstatus;","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" /**Instantiates an instance of a task.","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":" * @param taskname takes in the name of the task.*/","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":" public Task(String taskname) {","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" this.taskname \u003d taskname;","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" this.taskstatus \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" * Sets the current task as done.","lastModifiedDate":"2023-08-23"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" public void done() {","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" this.taskstatus \u003d true;","lastModifiedDate":"2023-08-23"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":26,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":27,"author":{"gitId":"proto-aiken-13"},"content":" * Sets the current task as not done.","lastModifiedDate":"2023-08-23"},{"lineNumber":28,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":29,"author":{"gitId":"proto-aiken-13"},"content":" public void undo() {","lastModifiedDate":"2023-08-23"},{"lineNumber":30,"author":{"gitId":"proto-aiken-13"},"content":" this.taskstatus \u003d false;","lastModifiedDate":"2023-08-23"},{"lineNumber":31,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":32,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the task and its status.","lastModifiedDate":"2023-08-23"},{"lineNumber":35,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":36,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of task and its current status.","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-23"},{"lineNumber":40,"author":{"gitId":"proto-aiken-13"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + taskname;","lastModifiedDate":"2023-08-23"},{"lineNumber":41,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":42,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":43,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-23"},{"lineNumber":44,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the status of the current task.","lastModifiedDate":"2023-08-23"},{"lineNumber":45,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-23"},{"lineNumber":46,"author":{"gitId":"proto-aiken-13"},"content":" * @return Status of the current task.","lastModifiedDate":"2023-08-23"},{"lineNumber":47,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-23"},{"lineNumber":48,"author":{"gitId":"proto-aiken-13"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-23"},{"lineNumber":49,"author":{"gitId":"proto-aiken-13"},"content":" return (taskstatus ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-23"},{"lineNumber":50,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":51,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":52,"author":{"gitId":"proto-aiken-13"},"content":" public String getTask() { return this.taskname; }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":55,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"proto-aiken-13":55}},{"path":"src/main/java/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":" * ToDo tasks have no deadline.","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"public class ToDo extends Task{","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":" * Instantiates an instance of a ToDo task class.","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":" * @param taskname the name of the task.","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":" public ToDo(String taskname) {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":" super(taskname);","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":" /**","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":" * Shows the name of the ToDo task and its status.","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":" *","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"proto-aiken-13"},"content":" * @return Name of the ToDo task and its current status.","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"proto-aiken-13"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"proto-aiken-13"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"proto-aiken-13"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"proto-aiken-13"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"proto-aiken-13"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"proto-aiken-13"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"proto-aiken-13"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":25}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"proto-aiken-13"},"content":"todo steal the declaration of independence","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"proto-aiken-13"},"content":"deadline fix the ceiling /by Sunday 12 pm","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"proto-aiken-13"},"content":"event rocket jumping competition /from Tuesday 9 am /to Tuesday 3 pm","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"proto-aiken-13"},"content":"mark 3","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"proto-aiken-13"},"content":"unmark 3","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"proto-aiken-13"},"content":"remove 3","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"proto-aiken-13"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"proto-aiken-13"},"content":"mark -2","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"proto-aiken-13"},"content":"unmark -2","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"proto-aiken-13"},"content":"deadline error","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"proto-aiken-13"},"content":"event error","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"proto-aiken-13"},"content":"todo error","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"proto-aiken-13"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"proto-aiken-13":17}}] diff --git a/proto-aiken-13_ip_master/commits.json b/proto-aiken-13_ip_master/commits.json index 2f9ecaca..04917484 100644 --- a/proto-aiken-13_ip_master/commits.json +++ b/proto-aiken-13_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"proto-aiken-13":[{"date":"2023-08-22","commitResults":[{"hash":"a6e44e87053c73a5a7f7debf578cbe6a6d635e53","isMergeCommit":false,"messageTitle":"Level 0 of the iP + Added greeting and exit messages as a skeletal programme","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"ddca1fbad49c0a33a66d869859a866b9d9c2ec04","isMergeCommit":false,"messageTitle":"Level 1 of the iP + Added a messageHandler method that merely echoes the user\u0027s input messages.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"44e2cccc1abee88ce51db852256ba9d02fe940e7","isMergeCommit":false,"messageTitle":"Level 2 of the iP + Edited the messageHandler method to store all tasks inputted by the user accordingly. + Added a new DukeList class that stores and manages all messages given by the user. + The DukeList class contains the store and display methods which stores tasks inputted by the user and displays them in a list accordingly.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":11}}},{"hash":"70f72aaef2e94e0475ed01a87f6095fcf93eea2c","isMergeCommit":false,"messageTitle":"Level 3 of the iP + Edited the messageHandler method in the Duke class to support marking and unmarking tasks. + Added a new Task class that stores a single task inputted by the user. + The DukeList class contains the mark and unmark methods which respectively marks and unmarks the current tasks stored in the DukeList class.","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":84,"deletions":6}}},{"hash":"3bc2a77c1c5d917917578d8381ee5634feb70e6d","isMergeCommit":false,"messageTitle":"Level 3 of the iP + Edited the messageHandler method in the Duke class to support marking and unmarking tasks. + Added a new Task class that stores a single task inputted by the user. + The DukeList class contains the mark and unmark methods which respectively marks and unmarks the current tasks stored in the DukeList class.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":3}}}]},{"date":"2023-08-24","commitResults":[{"hash":"a2c54f276a4e7f1c42d1c16a7b241f65c647355c","isMergeCommit":false,"messageTitle":"+ Level - 4 Added Todo, Deadline and Event subclasses which inherit from Task.","messageBody":"+ Updated the messageHandler method in Duke to parse the commands given by the user to store specific tasks and their deadlines, if any.\n\n+ Updated DukeList to overload its store methods, to accomodate to the different subclasses of Task.\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":144,"deletions":11}}},{"hash":"1a991d6ab05fd4f83845503656aa2ccebebc6a16","isMergeCommit":false,"messageTitle":"Added input and expected output tests","messageBody":"","tags":["A-TestUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0}}},{"hash":"4788dded2b8feb58aa4845e346424dae0e3cb01a","isMergeCommit":false,"messageTitle":"+ Level 5 Modified Duke to make separate methods to greet and say bye to the user.","messageBody":"+ Changed the logic control flow of the messageHandler logic to use switch cases, as well as adding exceptions for invalid inputs.\n","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":36}}},{"hash":"15db407d101982856bd97ed874b1c1ba1e838ef7","isMergeCommit":false,"messageTitle":"+ Level 6 + Added a delete() method in DukeList to remove tasks and support to delete tasks in Duke.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":43,"deletions":22}}},{"hash":"123a7242de295d31acb8652abc75a5f1784e4541","isMergeCommit":false,"messageTitle":"+ Level 6 + Added a delete() method in DukeList to remove tasks and support to delete tasks in Duke.","messageBody":"","tags":["Level-6","A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":4}}},{"hash":"6ea0966efa4cae4c540573a6d942a8f98982ad96","isMergeCommit":false,"messageTitle":"+ Level 6 + Added a delete() method in DukeList to remove tasks and support to delete tasks in Duke.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"proto-aiken-13":{"java":366,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":17}},"authorContributionVariance":{"proto-aiken-13":16439.389},"authorDisplayNameMap":{"proto-aiken-13":"CS2103T-T12-1 JOSE..CENA"}} +{"authorDailyContributionsMap":{"proto-aiken-13":[{"date":"2023-08-22","commitResults":[{"hash":"a6e44e87053c73a5a7f7debf578cbe6a6d635e53","isMergeCommit":false,"messageTitle":"Level 0 of the iP + Added greeting and exit messages as a skeletal programme","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":6}}},{"hash":"ddca1fbad49c0a33a66d869859a866b9d9c2ec04","isMergeCommit":false,"messageTitle":"Level 1 of the iP + Added a messageHandler method that merely echoes the user\u0027s input messages.","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":27,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"44e2cccc1abee88ce51db852256ba9d02fe940e7","isMergeCommit":false,"messageTitle":"Level 2 of the iP + Edited the messageHandler method to store all tasks inputted by the user accordingly. + Added a new DukeList class that stores and manages all messages given by the user. + The DukeList class contains the store and display methods which stores tasks inputted by the user and displays them in a list accordingly.","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":67,"deletions":11}}},{"hash":"70f72aaef2e94e0475ed01a87f6095fcf93eea2c","isMergeCommit":false,"messageTitle":"Level 3 of the iP + Edited the messageHandler method in the Duke class to support marking and unmarking tasks. + Added a new Task class that stores a single task inputted by the user. + The DukeList class contains the mark and unmark methods which respectively marks and unmarks the current tasks stored in the DukeList class.","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":84,"deletions":6}}},{"hash":"3bc2a77c1c5d917917578d8381ee5634feb70e6d","isMergeCommit":false,"messageTitle":"Level 3 of the iP + Edited the messageHandler method in the Duke class to support marking and unmarking tasks. + Added a new Task class that stores a single task inputted by the user. + The DukeList class contains the mark and unmark methods which respectively marks and unmarks the current tasks stored in the DukeList class.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":3}}}]},{"date":"2023-08-24","commitResults":[{"hash":"a2c54f276a4e7f1c42d1c16a7b241f65c647355c","isMergeCommit":false,"messageTitle":"+ Level - 4 Added Todo, Deadline and Event subclasses which inherit from Task.","messageBody":"+ Updated the messageHandler method in Duke to parse the commands given by the user to store specific tasks and their deadlines, if any.\n\n+ Updated DukeList to overload its store methods, to accomodate to the different subclasses of Task.\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":144,"deletions":11}}},{"hash":"1a991d6ab05fd4f83845503656aa2ccebebc6a16","isMergeCommit":false,"messageTitle":"Added input and expected output tests","messageBody":"","tags":["A-TestUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":10,"deletions":0}}},{"hash":"4788dded2b8feb58aa4845e346424dae0e3cb01a","isMergeCommit":false,"messageTitle":"+ Level 5 Modified Duke to make separate methods to greet and say bye to the user.","messageBody":"+ Changed the logic control flow of the messageHandler logic to use switch cases, as well as adding exceptions for invalid inputs.\n","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":36}}},{"hash":"15db407d101982856bd97ed874b1c1ba1e838ef7","isMergeCommit":false,"messageTitle":"+ Level 6 + Added a delete() method in DukeList to remove tasks and support to delete tasks in Duke.","messageBody":"","fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":43,"deletions":22}}},{"hash":"123a7242de295d31acb8652abc75a5f1784e4541","isMergeCommit":false,"messageTitle":"+ Level 6 + Added a delete() method in DukeList to remove tasks and support to delete tasks in Duke.","messageBody":"","tags":["Level-6","A-TextUiTesting"],"fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":4}}},{"hash":"6ea0966efa4cae4c540573a6d942a8f98982ad96","isMergeCommit":false,"messageTitle":"+ Level 6 + Added a delete() method in DukeList to remove tasks and support to delete tasks in Duke.","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}}]},{"date":"2023-09-02","commitResults":[{"hash":"e34f4132eef462c71970064b798561cb9204d2f8","isMergeCommit":false,"messageTitle":"Add a new DataSaver class","messageBody":"The DataSaver class handles all saving and loading of tasks\nin a test.s file.\n\nThe test.s file has the relative path of /data/data.s. This\nmakes it user-friendly across multiple platforms.\n","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":220,"deletions":76}}}]}]},"authorFileTypeContributionMap":{"proto-aiken-13":{"java":510,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":17}},"authorContributionVariance":{"proto-aiken-13":12667.234},"authorDisplayNameMap":{"proto-aiken-13":"CS2103T-T12-1 JOSE..CENA"}} diff --git a/remuslum_ip_master/commits.json b/remuslum_ip_master/commits.json index fd1ac311..0fde144b 100644 --- a/remuslum_ip_master/commits.json +++ b/remuslum_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"remuslum":[{"date":"2023-08-23","commitResults":[{"hash":"e61fab800a7eeefe3885d7eb99ac64921e8d9fb8","isMergeCommit":false,"messageTitle":"Added Rename, Greet and Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"e7892094d67cdf40955b069c5f5d552750d326e9","isMergeCommit":false,"messageTitle":"Added Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":1}}},{"hash":"fc872b475592f92867ae663b77c33ededd852e5d","isMergeCommit":false,"messageTitle":"Added Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":4}}},{"hash":"8b9232e8531da03d4a6408fa5bc92fed95e1230c","isMergeCommit":false,"messageTitle":"Added Done and Undone","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":77,"deletions":8}}},{"hash":"192b55aca235969ca6186a9b2f4087649bd63129","isMergeCommit":false,"messageTitle":"Added ToDos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":103,"deletions":33}}}]},{"date":"2023-08-24","commitResults":[{"hash":"2d28637cdc1aa50f904ad7ec089cc8c9757febdb","isMergeCommit":false,"messageTitle":"Added Automated Text UI testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":0,"deletions":1},"sh":{"insertions":1,"deletions":6}}},{"hash":"272d454b84e225dcd1cf035425d9e2a65d2f0c61","isMergeCommit":false,"messageTitle":"Added Error Handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":72}}},{"hash":"53f7954bed4bd69e62540077ec1cc26e9af32223","isMergeCommit":false,"messageTitle":"Added Delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":0}}},{"hash":"a8a6878a9ac6a40baacc6f8cdc5576be9cd84af3","isMergeCommit":false,"messageTitle":"Added enum class for error messages","messageBody":"","tags":["enum","A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":18}}}]},{"date":"2023-08-25","commitResults":[{"hash":"8e539cc22d68fce1a99598ffa132de26c6a1f48c","isMergeCommit":false,"messageTitle":"Revert \"Added enum class for error messages\"","messageBody":"This reverts commit a8a6878a9ac6a40baacc6f8cdc5576be9cd84af3.\n","fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":38}}},{"hash":"d6df8ad47baf7476b23e6ec0ef9c1c2dbab03ac5","isMergeCommit":false,"messageTitle":"Added enum class for error messages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":18}}},{"hash":"7a50bc98f9602c53661dcc3d3e4c562c7682ad52","isMergeCommit":false,"messageTitle":"Modified the input and Expected textfiles","messageBody":"","tags":["A-TextUiTesting2"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1}}}]},{"date":"2023-08-28","commitResults":[{"hash":"9132acb0f56c333f4648684d2d8cc5ccda5bc9c0","isMergeCommit":false,"messageTitle":"Added duke.txt and save/load methods","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":46,"deletions":0}}},{"hash":"39815f2e105d0f12cd572eecebb5917c1bf9a26e","isMergeCommit":false,"messageTitle":"Added DateTime Parser","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"java":{"insertions":39,"deletions":19}}}]},{"date":"2023-08-30","commitResults":[{"hash":"b6dfd3975eab9d87920e84f6f499290d7c8e385e","isMergeCommit":false,"messageTitle":"Added all necessary Classes","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":3},"java":{"insertions":388,"deletions":222}}},{"hash":"3daa5a7bdcd339d58ddf68a2611b71cd8ab12566","isMergeCommit":true,"messageTitle":"Merge pull request #1 from remuslum/A-MoreOOP","messageBody":"Added all necessary Classes","fileTypesAndContributionMap":{}},{"hash":"2ec78cda7d2d0392fb3a4a10c83f1449cec8c0b9","isMergeCommit":false,"messageTitle":"Added Packages for all classes","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":108,"deletions":25}}},{"hash":"2c3e5c698e62c1d866c63c738361b5ecbf55d866","isMergeCommit":true,"messageTitle":"Merge pull request #2 from remuslum/packages","messageBody":"Added Packages for all classes","fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"fb78f5d54abe131c8338982f3a1fc60df328481f","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into add-gradle-support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"e7411787cb6ee8bc8d5a1946d19197ac22e487b5","isMergeCommit":false,"messageTitle":"Added JUnit Test Classes","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3},"java":{"insertions":48,"deletions":0}}},{"hash":"4038f8d04b261bd3052e8bb352bfee3fa1a408d3","isMergeCommit":false,"messageTitle":"Added JAR file","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":3,"deletions":0}}},{"hash":"f51fe64d2b1c2148bf148cb58ce76f2c462736f3","isMergeCommit":false,"messageTitle":"Added JavaDoc for all classes","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":147,"deletions":8}}},{"hash":"1d0a756f949dbbb1b6ab925fa8936b726fd9b634","isMergeCommit":false,"messageTitle":"Applied Coding Standard","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":11}}},{"hash":"42f4fe9666092d8ede72c3e5965d3b743655ff98","isMergeCommit":false,"messageTitle":"Added FindCommand","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":10}}},{"hash":"3dc1e217099f432e3e434334b0dc82e5259afb68","isMergeCommit":false,"messageTitle":"Added FindCommand","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":10}}}]}]},"authorFileTypeContributionMap":{"remuslum":{"java":827,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":3,"txt":6}},"authorContributionVariance":{"remuslum":44801.09},"authorDisplayNameMap":{"remuslum":"LUM ..EMUS"}} +{"authorDailyContributionsMap":{"remuslum":[{"date":"2023-08-23","commitResults":[{"hash":"e61fab800a7eeefe3885d7eb99ac64921e8d9fb8","isMergeCommit":false,"messageTitle":"Added Rename, Greet and Exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":1}}},{"hash":"e7892094d67cdf40955b069c5f5d552750d326e9","isMergeCommit":false,"messageTitle":"Added Echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":1}}},{"hash":"fc872b475592f92867ae663b77c33ededd852e5d","isMergeCommit":false,"messageTitle":"Added Add, List","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":4}}},{"hash":"8b9232e8531da03d4a6408fa5bc92fed95e1230c","isMergeCommit":false,"messageTitle":"Added Done and Undone","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":77,"deletions":8}}},{"hash":"192b55aca235969ca6186a9b2f4087649bd63129","isMergeCommit":false,"messageTitle":"Added ToDos, Events, Deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":103,"deletions":33}}}]},{"date":"2023-08-24","commitResults":[{"hash":"2d28637cdc1aa50f904ad7ec089cc8c9757febdb","isMergeCommit":false,"messageTitle":"Added Automated Text UI testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":0,"deletions":1},"sh":{"insertions":1,"deletions":6}}},{"hash":"272d454b84e225dcd1cf035425d9e2a65d2f0c61","isMergeCommit":false,"messageTitle":"Added Error Handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":129,"deletions":72}}},{"hash":"53f7954bed4bd69e62540077ec1cc26e9af32223","isMergeCommit":false,"messageTitle":"Added Delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":0}}},{"hash":"a8a6878a9ac6a40baacc6f8cdc5576be9cd84af3","isMergeCommit":false,"messageTitle":"Added enum class for error messages","messageBody":"","tags":["enum","A-Enums"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":18}}}]},{"date":"2023-08-25","commitResults":[{"hash":"8e539cc22d68fce1a99598ffa132de26c6a1f48c","isMergeCommit":false,"messageTitle":"Revert \"Added enum class for error messages\"","messageBody":"This reverts commit a8a6878a9ac6a40baacc6f8cdc5576be9cd84af3.\n","fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":38}}},{"hash":"d6df8ad47baf7476b23e6ec0ef9c1c2dbab03ac5","isMergeCommit":false,"messageTitle":"Added enum class for error messages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":18}}},{"hash":"7a50bc98f9602c53661dcc3d3e4c562c7682ad52","isMergeCommit":false,"messageTitle":"Modified the input and Expected textfiles","messageBody":"","tags":["A-TextUiTesting2"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":1}}}]},{"date":"2023-08-28","commitResults":[{"hash":"9132acb0f56c333f4648684d2d8cc5ccda5bc9c0","isMergeCommit":false,"messageTitle":"Added duke.txt and save/load methods","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":46,"deletions":0}}},{"hash":"39815f2e105d0f12cd572eecebb5917c1bf9a26e","isMergeCommit":false,"messageTitle":"Added DateTime Parser","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":3},"java":{"insertions":39,"deletions":19}}}]},{"date":"2023-08-30","commitResults":[{"hash":"b6dfd3975eab9d87920e84f6f499290d7c8e385e","isMergeCommit":false,"messageTitle":"Added all necessary Classes","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":3},"java":{"insertions":388,"deletions":222}}},{"hash":"3daa5a7bdcd339d58ddf68a2611b71cd8ab12566","isMergeCommit":true,"messageTitle":"Merge pull request #1 from remuslum/A-MoreOOP","messageBody":"Added all necessary Classes","fileTypesAndContributionMap":{}},{"hash":"2ec78cda7d2d0392fb3a4a10c83f1449cec8c0b9","isMergeCommit":false,"messageTitle":"Added Packages for all classes","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":108,"deletions":25}}},{"hash":"2c3e5c698e62c1d866c63c738361b5ecbf55d866","isMergeCommit":true,"messageTitle":"Merge pull request #2 from remuslum/packages","messageBody":"Added Packages for all classes","fileTypesAndContributionMap":{}}]},{"date":"2023-08-31","commitResults":[{"hash":"fb78f5d54abe131c8338982f3a1fc60df328481f","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into add-gradle-support","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"e7411787cb6ee8bc8d5a1946d19197ac22e487b5","isMergeCommit":false,"messageTitle":"Added JUnit Test Classes","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3},"java":{"insertions":48,"deletions":0}}},{"hash":"4038f8d04b261bd3052e8bb352bfee3fa1a408d3","isMergeCommit":false,"messageTitle":"Added JAR file","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":3,"deletions":0}}},{"hash":"f51fe64d2b1c2148bf148cb58ce76f2c462736f3","isMergeCommit":false,"messageTitle":"Added JavaDoc for all classes","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":147,"deletions":8}}},{"hash":"1d0a756f949dbbb1b6ab925fa8936b726fd9b634","isMergeCommit":false,"messageTitle":"Applied Coding Standard","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":11}}},{"hash":"42f4fe9666092d8ede72c3e5965d3b743655ff98","isMergeCommit":false,"messageTitle":"Added FindCommand","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":10}}},{"hash":"3dc1e217099f432e3e434334b0dc82e5259afb68","isMergeCommit":false,"messageTitle":"Added FindCommand","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":10}}}]}]},"authorFileTypeContributionMap":{"remuslum":{"java":827,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":3,"txt":6}},"authorContributionVariance":{"remuslum":44801.09},"authorDisplayNameMap":{"remuslum":"CS2103-F13-2 LUM ..EMUS"}} diff --git a/reposense-logs/reposense.log.0 b/reposense-logs/reposense.log.0 index 89a67f6f..0c44b7bf 100644 --- a/reposense-logs/reposense.log.0 +++ b/reposense-logs/reposense.log.0 @@ -1,58 +1,58 @@ -Sep 02, 2023 2:25:06 PM reposense.system.LogsManager addFileHandler +Sep 02, 2023 2:44:37 PM reposense.system.LogsManager addFileHandler INFO: Log temp folder has been successfully created -Sep 02, 2023 2:25:06 PM reposense.parser.CsvParser validateHeader +Sep 02, 2023 2:44:37 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, repo-config.csv, and recognized columns: Ignore Standalone Config, Repository's Location, Branch, Shallow Cloning, File formats, Ignore Glob List, Ignore Authors List, Find Previous Authors, Ignore Commits List -Sep 02, 2023 2:25:07 PM reposense.parser.CsvParser validateHeader +Sep 02, 2023 2:44:38 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, author-config.csv, and recognized columns: Author's Emails, Repository's Location, Author's GitHub ID, Branch, Author's Display Name, Ignore Glob List, Author's Git Author Name -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias scarletblanks found. The alias will belong to the last author - ScarletBlanks -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kb-tay found. The alias will belong to the last author - Kb-Tay -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias ryam found. The alias will belong to the last author - ryamgoh -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias h1410101 found. The alias will belong to the last author - H1410101 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias shashahchk found. The alias will belong to the last author - shashahchk -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yucongkoo found. The alias will belong to the last author - yucongkoo -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kokseng1 found. The alias will belong to the last author - Kokseng1 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias vanessamae23 found. The alias will belong to the last author - Vanessamae23 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias singa-pirate found. The alias will belong to the last author - Singa-pirate -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nicholastng010601 found. The alias will belong to the last author - nicholastng010601 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias weiennn found. The alias will belong to the last author - Weiennn -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias adammangzijun found. The alias will belong to the last author - adammangzijun -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias scarletblanks found. The alias will belong to the last author - ScarletBlanks -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kb-tay found. The alias will belong to the last author - Kb-Tay -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias ryam found. The alias will belong to the last author - ryamgoh -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias h1410101 found. The alias will belong to the last author - H1410101 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias shashahchk found. The alias will belong to the last author - shashahchk -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yucongkoo found. The alias will belong to the last author - yucongkoo -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kokseng1 found. The alias will belong to the last author - Kokseng1 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias vanessamae23 found. The alias will belong to the last author - Vanessamae23 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias singa-pirate found. The alias will belong to the last author - Singa-pirate -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nicholastng010601 found. The alias will belong to the last author - nicholastng010601 -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias weiennn found. The alias will belong to the last author - Weiennn -Sep 02, 2023 2:25:07 PM reposense.model.AuthorConfiguration checkDuplicateAliases +Sep 02, 2023 2:44:38 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias adammangzijun found. The alias will belong to the last author - adammangzijun -Sep 02, 2023 2:25:07 PM reposense.git.GitConfig getGlobalGitLfsConfig +Sep 02, 2023 2:44:38 PM reposense.git.GitConfig getGlobalGitLfsConfig WARNING: Could not get global git lfs config java.lang.RuntimeException: reposense.system.CommandRunnerProcessException: Error returned from command git config --global --list on path . : fatal: unable to read config file '/home/runner/.gitconfig': No such file or directory @@ -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 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/CJ-Lee01/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/siqirua/ip.git... +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/emzm2023/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/CJ-Lee01/ip.git... +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/thaddeusong/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/siqirua/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/thaddeusong/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/CJ-Lee01/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/siqirua/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/emzm2023/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/emzm2023/ip.git completed! -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tanteckfang/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [1/480] Analyzing https://github.com/emzm2023/ip.git (master)... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tanteckfang/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/thaddeusong/ip.git completed! +Sep 02, 2023 2:44:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/emzm2023/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/siqirua/ip.git completed! -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/CJ-Lee01/ip.git completed! -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ph-nathan/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [2/480] Analyzing https://github.com/siqirua/ip.git (master)... -Sep 02, 2023 2:25:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/emzm2023/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/butteredyakiimo/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/thaddeusong/ip.git completed! -Sep 02, 2023 2:25:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/emzm2023/ip.git (master)... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yuxunn/ip.git... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [2/480] Analyzing https://github.com/thaddeusong/ip.git (master)... +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ph-nathan/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/CJ-Lee01/ip.git completed! +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/butteredyakiimo/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/thaddeusong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/thaddeusong/ip.git (master)... +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yuxunn/ip.git... +Sep 02, 2023 2:44:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yuxunn/ip.git to complete... -Sep 02, 2023 2:25:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/siqirua/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/siqirua/ip.git (master)... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tanteckfang/ip.git completed! -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/RB9823/ip.git... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/RB9823/ip.git to complete... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yuxunn/ip.git completed! -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ph-nathan/ip.git completed! -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TyrusLye/ip.git... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/butteredyakiimo/ip.git completed! -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cxo05/ip.git... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TyrusLye/ip.git to complete... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shyanyong/ip.git... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yuxunn/ip.git completed! +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cxo05/ip.git... +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/cxo05/ip.git to complete... -Sep 02, 2023 2:25:09 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shyanyong/ip.git... +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/shyanyong/ip.git to complete... -Sep 02, 2023 2:25:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/emzm2023/ip.git (master)... -Sep 02, 2023 2:25:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/emzm2023/ip.git (master)... -Sep 02, 2023 2:25:09 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/thaddeusong/ip.git (master)... +Sep 02, 2023 2:44:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/thaddeusong/ip.git (master)... +Sep 02, 2023 2:44:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/emzm2023/ip.git (master) completed! -Sep 02, 2023 2:25:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [3/480] Analyzing https://github.com/CJ-Lee01/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [3/480] Analyzing https://github.com/siqirua/ip.git (master)... +Sep 02, 2023 2:44:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/thaddeusong/ip.git (master) completed! +Sep 02, 2023 2:44:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [4/480] Analyzing https://github.com/CJ-Lee01/ip.git (master)... +Sep 02, 2023 2:44:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/siqirua/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/siqirua/ip.git (master)... +Sep 02, 2023 2:44:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CJ-Lee01/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CJ-Lee01/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/siqirua/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/siqirua/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/RB9823/ip.git completed! -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TyrusLye/ip.git completed! -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/howenc/ip.git... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kurtyjlee/ip.git... -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/siqirua/ip.git (master) completed! -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:40 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/howenc/ip.git to complete... -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [4/480] Analyzing https://github.com/thaddeusong/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kurtyjlee/ip.git to complete... -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/thaddeusong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/thaddeusong/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shyanyong/ip.git completed! +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TyrusLye/ip.git completed! +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/cxo05/ip.git completed! -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kurtyjlee/ip.git... +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/josepholim/ip.git... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shyanyong/ip.git completed! -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/josepholim/ip.git to complete... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/geoffong11/ip.git... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kurtyjlee/ip.git to complete... +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/geoffong11/ip.git to complete... -Sep 02, 2023 2:25:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CJ-Lee01/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CJ-Lee01/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CJ-Lee01/ip.git (master) completed! -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [5/480] Analyzing https://github.com/tanteckfang/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tanteckfang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tanteckfang/ip.git (master)... -Sep 02, 2023 2:25:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kurtyjlee/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jianrong7/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/siqirua/ip.git (master)... +Sep 02, 2023 2:44:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/siqirua/ip.git (master)... +Sep 02, 2023 2:44:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/siqirua/ip.git (master) completed! +Sep 02, 2023 2:44:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [6/480] Analyzing https://github.com/ph-nathan/ip.git (master)... +Sep 02, 2023 2:44:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ph-nathan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ph-nathan/ip.git (master)... +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/howenc/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jianrong7/ip.git... +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jianrong7/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/josepholim/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/A1WAYSD/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/geoffong11/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/NgChunMan/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/A1WAYSD/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/NgChunMan/ip.git... +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kurtyjlee/ip.git completed! +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/limjunxian1/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/NgChunMan/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:41 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/limjunxian1/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/thaddeusong/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/thaddeusong/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/thaddeusong/ip.git (master) completed! -Sep 02, 2023 2:25:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [6/480] Analyzing https://github.com/yuxunn/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yuxunn/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yuxunn/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ph-nathan/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanteckfang/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ph-nathan/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanteckfang/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ph-nathan/ip.git (master) completed! +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [7/480] Analyzing https://github.com/butteredyakiimo/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanteckfang/ip.git (master) completed! +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [8/480] Analyzing https://github.com/yuxunn/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/butteredyakiimo/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/butteredyakiimo/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yuxunn/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yuxunn/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jianrong7/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jack1e0/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanteckfang/ip.git (master) completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/A1WAYSD/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [7/480] Analyzing https://github.com/ph-nathan/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jack1e0/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/NgChunMan/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ph-nathan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ph-nathan/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/A1WAYSD/ip.git completed! +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/hjoneweek/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/dishenggg/ip.git... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/hjoneweek/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dishenggg/ip.git to complete... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/limjunxian1/ip.git completed! -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zhyuhan/ip.git... -Sep 02, 2023 2:25:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yuxunn/ip.git (master)... -Sep 02, 2023 2:25:11 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dishenggg/ip.git to complete... +Sep 02, 2023 2:44:42 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zhyuhan/ip.git to complete... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yuxunn/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yuxunn/ip.git (master) completed! -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [8/480] Analyzing https://github.com/butteredyakiimo/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/butteredyakiimo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/butteredyakiimo/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ph-nathan/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yuxunn/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/butteredyakiimo/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ph-nathan/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ph-nathan/ip.git (master) completed! -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [9/480] Analyzing https://github.com/RB9823/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/butteredyakiimo/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/butteredyakiimo/ip.git (master) completed! -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [9/480] Analyzing https://github.com/RB9823/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yuxunn/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yuxunn/ip.git (master) completed! +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [10/480] Analyzing https://github.com/shyanyong/ip.git (master)... +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RB9823/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RB9823/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jack1e0/ip.git completed! -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Dioclei/ip.git... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [10/480] Analyzing https://github.com/TyrusLye/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Dioclei/ip.git to complete... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hjoneweek/ip.git completed! -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dishenggg/ip.git completed! -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shyanyong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shyanyong/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RB9823/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/RB9823/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/RB9823/ip.git (master) completed! +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [11/480] Analyzing https://github.com/TyrusLye/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TyrusLye/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TyrusLye/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Daphne789/ip.git... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WinstonLeonard/ip.git... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WinstonLeonard/ip.git to complete... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Daphne789/ip.git to complete... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhyuhan/ip.git completed! -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/peiran18/ip.git... -Sep 02, 2023 2:25:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/peiran18/ip.git to complete... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TyrusLye/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jack1e0/ip.git completed! +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TyrusLye/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TyrusLye/ip.git (master) completed! -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [11/480] Analyzing https://github.com/cxo05/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RB9823/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/RB9823/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/RB9823/ip.git (master) completed! -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [12/480] Analyzing https://github.com/shyanyong/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shyanyong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shyanyong/ip.git (master)... -Sep 02, 2023 2:25:12 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hjoneweek/ip.git completed! +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [12/480] Analyzing https://github.com/cxo05/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Dioclei/ip.git... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhyuhan/ip.git completed! +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Daphne789/ip.git... +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shyanyong/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Dioclei/ip.git to complete... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Daphne789/ip.git to complete... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cxo05/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cxo05/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shyanyong/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WinstonLeonard/ip.git... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WinstonLeonard/ip.git to complete... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shyanyong/ip.git (master) completed! +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dishenggg/ip.git completed! +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [13/480] Analyzing https://github.com/howenc/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/peiran18/ip.git... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/peiran18/ip.git to complete... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/howenc/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/howenc/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cxo05/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cxo05/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cxo05/ip.git (master) completed! +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [14/480] Analyzing https://github.com/josepholim/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/josepholim/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/josepholim/ip.git (master)... +Sep 02, 2023 2:44:43 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Dioclei/ip.git completed! -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AriellaCallista/ip.git... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AriellaCallista/ip.git to complete... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Daphne789/ip.git completed! -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WinstonLeonard/ip.git completed! -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/migfoo02/ip.git... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jonyxzx/ip.git... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/peiran18/ip.git completed! -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/migfoo02/ip.git to complete... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SynapseProgramming/ip.git... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/peiran18/ip.git completed! +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WinstonLeonard/ip.git completed! +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jonyxzx/ip.git... +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Jonyxzx/ip.git to complete... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SynapseProgramming/ip.git... +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/SynapseProgramming/ip.git to complete... -Sep 02, 2023 2:25:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shyanyong/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shyanyong/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cxo05/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shyanyong/ip.git (master) completed! -Sep 02, 2023 2:25:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [13/480] Analyzing https://github.com/Kurtyjlee/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cxo05/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cxo05/ip.git (master) completed! -Sep 02, 2023 2:25:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [14/480] Analyzing https://github.com/josepholim/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/howenc/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/howenc/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/howenc/ip.git (master) completed! +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [15/480] Analyzing https://github.com/geoffong11/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/geoffong11/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/geoffong11/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/josepholim/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/josepholim/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/josepholim/ip.git (master) completed! +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [16/480] Analyzing https://github.com/Kurtyjlee/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kurtyjlee/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kurtyjlee/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/josepholim/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/josepholim/ip.git (master)... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/geoffong11/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/geoffong11/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/geoffong11/ip.git (master) completed! +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [17/480] Analyzing https://github.com/jianrong7/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jianrong7/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jianrong7/ip.git (master)... +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/migfoo02/ip.git completed! +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Jonyxzx/ip.git completed! +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AriellaCallista/ip.git completed! -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Darren159/ip.git... -Sep 02, 2023 2:25:13 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Darren159/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Jonyxzx/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/imkwokyong/ip.git... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SynapseProgramming/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/joeng03/ip.git... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/imkwokyong/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/imkwokyong/ip.git... +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/joeng03/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/migfoo02/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/imkwokyong/ip.git to complete... +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SynapseProgramming/ip.git completed! +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/vijay-shankaranand/ip.git... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:44 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/vijay-shankaranand/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/josepholim/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kurtyjlee/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/josepholim/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/josepholim/ip.git (master) completed! -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kurtyjlee/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [15/480] Analyzing https://github.com/howenc/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:44 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kurtyjlee/ip.git (master) completed! -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [16/480] Analyzing https://github.com/geoffong11/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/howenc/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/howenc/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/geoffong11/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/geoffong11/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Darren159/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SelwynAng/ip.git... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SelwynAng/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/geoffong11/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/imkwokyong/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jeffrey-jian/ip.git... -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/geoffong11/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/geoffong11/ip.git (master) completed! -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [17/480] Analyzing https://github.com/jianrong7/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jeffrey-jian/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/joeng03/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanyyyming/ip.git... -Sep 02, 2023 2:25:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jianrong7/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jianrong7/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanyyyming/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vijay-shankaranand/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JCSnap/ip.git... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JCSnap/ip.git to complete... -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/howenc/ip.git (master)... -Sep 02, 2023 2:25:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SelwynAng/ip.git completed! -Sep 02, 2023 2:25:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/howenc/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AprupKale/ip.git... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AprupKale/ip.git to complete... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/howenc/ip.git (master) completed! -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepos INFO: [18/480] Analyzing https://github.com/A1WAYSD/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/A1WAYSD/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/A1WAYSD/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jianrong7/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jianrong7/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jianrong7/ip.git (master) completed! -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/A1WAYSD/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/A1WAYSD/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepos INFO: [19/480] Analyzing https://github.com/NgChunMan/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jeffrey-jian/ip.git completed! -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/woojiahao/ip.git... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/woojiahao/ip.git to complete... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/NgChunMan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/NgChunMan/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/A1WAYSD/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanyyyming/ip.git completed! -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/PetrichorPrecipice/ip.git... -Sep 02, 2023 2:25:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/A1WAYSD/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/A1WAYSD/ip.git (master) completed! -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/PetrichorPrecipice/ip.git to complete... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/imkwokyong/ip.git completed! +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Darren159/ip.git completed! +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepos INFO: [20/480] Analyzing https://github.com/limjunxian1/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SelwynAng/ip.git... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jeffrey-jian/ip.git... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SelwynAng/ip.git to complete... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/joeng03/ip.git completed! +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vijay-shankaranand/ip.git completed! +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/limjunxian1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/limjunxian1/ip.git (master)... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jeffrey-jian/ip.git to complete... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanyyyming/ip.git... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JCSnap/ip.git... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanyyyming/ip.git to complete... +Sep 02, 2023 2:44:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JCSnap/ip.git to complete... +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/NgChunMan/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/NgChunMan/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/NgChunMan/ip.git (master) completed! +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [21/480] Analyzing https://github.com/jack1e0/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jack1e0/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jack1e0/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/limjunxian1/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/limjunxian1/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/limjunxian1/ip.git (master) completed! +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [22/480] Analyzing https://github.com/hjoneweek/ip.git (master)... +Sep 02, 2023 2:44:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/hjoneweek/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/hjoneweek/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/JCSnap/ip.git completed! -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SelwynAng/ip.git completed! +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AprupKale/ip.git... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/woojiahao/ip.git... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AprupKale/ip.git to complete... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/woojiahao/ip.git to complete... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanyyyming/ip.git completed! +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jeffrey-jian/ip.git completed! +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/PetrichorPrecipice/ip.git... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/PetrichorPrecipice/ip.git to complete... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/syamfarh/ip.git... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/syamfarh/ip.git to complete... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jack1e0/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/hjoneweek/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jack1e0/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jack1e0/ip.git (master) completed! +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [23/480] Analyzing https://github.com/zhyuhan/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/hjoneweek/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/hjoneweek/ip.git (master) completed! +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [24/480] Analyzing https://github.com/dishenggg/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhyuhan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhyuhan/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dishenggg/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dishenggg/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AprupKale/ip.git completed! -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/D-Limiter/ip.git... -Sep 02, 2023 2:25:15 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PetrichorPrecipice/ip.git completed! +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/D-Limiter/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/limjunxian1/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/woojiahao/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/coderhuang559/ip.git... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PetrichorPrecipice/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/limjunxian1/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/limjunxian1/ip.git (master) completed! -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/woojiahao/ip.git completed! +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LINCHENYU2030S/ip.git... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [21/480] Analyzing https://github.com/jack1e0/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/coderhuang559/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LINCHENYU2030S/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jack1e0/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jack1e0/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/NgChunMan/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/NgChunMan/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/NgChunMan/ip.git (master) completed! -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [22/480] Analyzing https://github.com/dishenggg/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dishenggg/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dishenggg/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/syamfarh/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/pra-navi/ip.git... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/pra-navi/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dishenggg/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhyuhan/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dishenggg/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhyuhan/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dishenggg/ip.git (master) completed! +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhyuhan/ip.git (master) completed! +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [25/480] Analyzing https://github.com/Dioclei/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [26/480] Analyzing https://github.com/Daphne789/ip.git (master)... +Sep 02, 2023 2:44:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Daphne789/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Daphne789/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Dioclei/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Dioclei/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Daphne789/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Dioclei/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Daphne789/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Daphne789/ip.git (master) completed! +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [27/480] Analyzing https://github.com/peiran18/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Dioclei/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Dioclei/ip.git (master) completed! +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [28/480] Analyzing https://github.com/WinstonLeonard/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/D-Limiter/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/peiran18/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/peiran18/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LINCHENYU2030S/ip.git completed! +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WinstonLeonard/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WinstonLeonard/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/phiphi-tan/ip.git... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/phiphi-tan/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jack1e0/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jack1e0/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/coderhuang559/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jack1e0/ip.git (master) completed! -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [23/480] Analyzing https://github.com/hjoneweek/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ktzy0305/ip.git... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LINCHENYU2030S/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/coderhuang559/ip.git completed! +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ktzy0305/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/hjoneweek/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/hjoneweek/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/phiphi-tan/ip.git to complete... +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LordSaumya/ip.git... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dishenggg/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LordSaumya/ip.git to complete... -Sep 02, 2023 2:25:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dishenggg/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dishenggg/ip.git (master) completed! -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [24/480] Analyzing https://github.com/zhyuhan/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhyuhan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhyuhan/ip.git (master)... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/phiphi-tan/ip.git completed! -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chen1x/ip.git... -Sep 02, 2023 2:25:16 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/pra-navi/ip.git completed! -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chen1x/ip.git... +Sep 02, 2023 2:44:47 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Chen1x/ip.git to complete... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/peiran18/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/peiran18/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/peiran18/ip.git (master) completed! +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [29/480] Analyzing https://github.com/Jonyxzx/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Jonyxzx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Jonyxzx/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/WinstonLeonard/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/WinstonLeonard/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/WinstonLeonard/ip.git (master) completed! +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [30/480] Analyzing https://github.com/migfoo02/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/migfoo02/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/migfoo02/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/migfoo02/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/migfoo02/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/migfoo02/ip.git (master) completed! +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [31/480] Analyzing https://github.com/AriellaCallista/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AriellaCallista/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AriellaCallista/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Jonyxzx/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Jonyxzx/ip.git (master)... +Sep 02, 2023 2:44:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Jonyxzx/ip.git (master) completed! +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [32/480] Analyzing https://github.com/SynapseProgramming/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chen1x/ip.git completed! +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LordSaumya/ip.git completed! +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yanghengtang/ip.git... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yanghengtang/ip.git to complete... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/hjoneweek/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/hjoneweek/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/hjoneweek/ip.git (master) completed! -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [25/480] Analyzing https://github.com/Dioclei/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Dioclei/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Dioclei/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Dioclei/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ktzy0305/ip.git completed! -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/johnnythesnake12/ip.git... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SynapseProgramming/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SynapseProgramming/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/phiphi-tan/ip.git completed! +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yanghengtang/ip.git to complete... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/johnnythesnake12/ip.git to complete... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Dioclei/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Dioclei/ip.git (master) completed! -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [26/480] Analyzing https://github.com/WinstonLeonard/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LordSaumya/ip.git completed! -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhyuhan/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/oeggy03/ip.git... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/oeggy03/ip.git to complete... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhyuhan/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WinstonLeonard/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WinstonLeonard/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhyuhan/ip.git (master) completed! -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [27/480] Analyzing https://github.com/Daphne789/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chen1x/ip.git completed! -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/p-xp/ip.git... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/p-xp/ip.git to complete... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Daphne789/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Daphne789/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yanghengtang/ip.git completed! -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AriellaCallista/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SynapseProgramming/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AriellaCallista/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AriellaCallista/ip.git (master) completed! +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [33/480] Analyzing https://github.com/imkwokyong/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SynapseProgramming/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SynapseProgramming/ip.git (master) completed! +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/imkwokyong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/imkwokyong/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [34/480] Analyzing https://github.com/Darren159/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Darren159/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Darren159/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/imkwokyong/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/oeggy03/ip.git completed! +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/imkwokyong/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/imkwokyong/ip.git (master) completed! +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [35/480] Analyzing https://github.com/vijay-shankaranand/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/matochichap/ip.git... -Sep 02, 2023 2:25:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/matochichap/ip.git to complete... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/WinstonLeonard/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/WinstonLeonard/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/WinstonLeonard/ip.git (master) completed! -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [28/480] Analyzing https://github.com/peiran18/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Daphne789/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/peiran18/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/peiran18/ip.git (master)... -Sep 02, 2023 2:25:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Daphne789/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Daphne789/ip.git (master) completed! -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [29/480] Analyzing https://github.com/AriellaCallista/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AriellaCallista/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AriellaCallista/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/johnnythesnake12/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/matochichap/ip.git to complete... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yanghengtang/ip.git completed! +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/applepiofmyeye/ip.git... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/applepiofmyeye/ip.git to complete... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/oeggy03/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/peiran18/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TiwKangXu/ip.git... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/p-xp/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/vijay-shankaranand/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/vijay-shankaranand/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TiwKangXu/ip.git to complete... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/applepiofmyeye/ip.git to complete... +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/ScarletBlanks/ip.git... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/ScarletBlanks/ip.git to complete... -Sep 02, 2023 2:25:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/peiran18/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/peiran18/ip.git (master) completed! -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [30/480] Analyzing https://github.com/Jonyxzx/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Darren159/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Darren159/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Darren159/ip.git (master) completed! +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [36/480] Analyzing https://github.com/joeng03/ip.git (master)... +Sep 02, 2023 2:44:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/joeng03/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/joeng03/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/vijay-shankaranand/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/vijay-shankaranand/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/vijay-shankaranand/ip.git (master) completed! +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [37/480] Analyzing https://github.com/JCSnap/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JCSnap/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JCSnap/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/joeng03/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/joeng03/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/joeng03/ip.git (master) completed! +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [38/480] Analyzing https://github.com/SelwynAng/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SelwynAng/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SelwynAng/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JCSnap/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/applepiofmyeye/ip.git completed! +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/matochichap/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chiayunrong/ip.git... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chiayunrong/ip.git to complete... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Jonyxzx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Jonyxzx/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AriellaCallista/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AriellaCallista/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AriellaCallista/ip.git (master) completed! -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [31/480] Analyzing https://github.com/SynapseProgramming/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SynapseProgramming/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SynapseProgramming/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/applepiofmyeye/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/devanshubisht/ip.git... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JCSnap/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/devanshubisht/ip.git to complete... -Sep 02, 2023 2:25:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Jonyxzx/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JCSnap/ip.git (master) completed! +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [39/480] Analyzing https://github.com/jeffrey-jian/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/ScarletBlanks/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/TiwKangXu/ip.git completed! -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jx124/ip.git... -Sep 02, 2023 2:25:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Jonyxzx/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Jonyxzx/ip.git (master) completed! -Sep 02, 2023 2:25:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [32/480] Analyzing https://github.com/migfoo02/ip.git (master)... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jeffrey-jian/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jeffrey-jian/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/Clin-lyx/ip.git... -Sep 02, 2023 2:25:18 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jx124/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chiayunrong/ip.git completed! -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:49 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/Clin-lyx/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SelwynAng/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SelwynAng/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SelwynAng/ip.git (master) completed! +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [40/480] Analyzing https://github.com/tanyyyming/ip.git (master)... +Sep 02, 2023 2:44:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanyyyming/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanyyyming/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jeffrey-jian/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chiayunrong/ip.git completed! +Sep 02, 2023 2:44:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jeffrey-jian/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jeffrey-jian/ip.git (master) completed! +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [41/480] Analyzing https://github.com/AprupKale/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AryanG01/ip.git... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/migfoo02/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/migfoo02/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SynapseProgramming/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AryanG01/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SynapseProgramming/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SynapseProgramming/ip.git (master) completed! -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [33/480] Analyzing https://github.com/Darren159/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Darren159/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Darren159/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/migfoo02/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/migfoo02/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/migfoo02/ip.git (master) completed! -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [34/480] Analyzing https://github.com/imkwokyong/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/imkwokyong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/imkwokyong/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/devanshubisht/ip.git completed! -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kayabuttertoastt/ip.git... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kayabuttertoastt/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Darren159/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Darren159/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Darren159/ip.git (master) completed! -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [35/480] Analyzing https://github.com/joeng03/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/joeng03/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/joeng03/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/Clin-lyx/ip.git completed! -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/devanshubisht/ip.git completed! +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/jx124/ip.git completed! -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kayabuttertoastt/ip.git... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AprupKale/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AprupKale/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/sheryew/ip.git... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sheryew/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/jonasongg/ip.git... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AryanG01/ip.git completed! -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/jonasongg/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sheryew/ip.git to complete... +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kayabuttertoastt/ip.git to complete... +Sep 02, 2023 2:44:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AprupKale/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tanyyyming/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AprupKale/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AprupKale/ip.git (master) completed! +Sep 02, 2023 2:44:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tanyyyming/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [42/480] Analyzing https://github.com/PetrichorPrecipice/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tanyyyming/ip.git (master) completed! +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [43/480] Analyzing https://github.com/woojiahao/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/PetrichorPrecipice/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/PetrichorPrecipice/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/woojiahao/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/woojiahao/ip.git (master)... +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AryanG01/ip.git completed! +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/yiwen101/ip.git... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/yiwen101/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/imkwokyong/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/imkwokyong/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/imkwokyong/ip.git (master) completed! -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [36/480] Analyzing https://github.com/vijay-shankaranand/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kayabuttertoastt/ip.git completed! -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jonasongg/ip.git completed! +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/tiongMax/ip.git... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/vijay-shankaranand/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/vijay-shankaranand/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/tiongMax/ip.git to complete... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/joeng03/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/joeng03/ip.git (master)... -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/joeng03/ip.git (master) completed! -Sep 02, 2023 2:25:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [37/480] Analyzing https://github.com/SelwynAng/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SelwynAng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SelwynAng/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/vijay-shankaranand/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/vijay-shankaranand/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/vijay-shankaranand/ip.git (master) completed! -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [38/480] Analyzing https://github.com/jeffrey-jian/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jeffrey-jian/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jeffrey-jian/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sheryew/ip.git completed! -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kayabuttertoastt/ip.git completed! +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/chuababyy/ip.git... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/chuababyy/ip.git to complete... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jonasongg/ip.git completed! -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sheryew/ip.git completed! +Sep 02, 2023 2:44:50 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/supermii2/ip.git... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/supermii2/ip.git to complete... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/PetrichorPrecipice/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/PetrichorPrecipice/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/PetrichorPrecipice/ip.git (master) completed! +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [44/480] Analyzing https://github.com/syamfarh/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/syamfarh/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/syamfarh/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/woojiahao/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/woojiahao/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/woojiahao/ip.git (master) completed! +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [45/480] Analyzing https://github.com/D-Limiter/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/D-Limiter/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/D-Limiter/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/syamfarh/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/D-Limiter/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/syamfarh/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/syamfarh/ip.git (master) completed! +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [46/480] Analyzing https://github.com/LINCHENYU2030S/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/D-Limiter/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/D-Limiter/ip.git (master) completed! +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [47/480] Analyzing https://github.com/coderhuang559/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LINCHENYU2030S/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LINCHENYU2030S/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/yiwen101/ip.git completed! -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/coderhuang559/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/coderhuang559/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/remuslum/ip.git... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/remuslum/ip.git to complete... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/tiongMax/ip.git completed! -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/kanna-1/ip.git... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/kanna-1/ip.git to complete... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SelwynAng/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SelwynAng/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SelwynAng/ip.git (master) completed! -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [39/480] Analyzing https://github.com/tanyyyming/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanyyyming/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanyyyming/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jeffrey-jian/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jeffrey-jian/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jeffrey-jian/ip.git (master) completed! -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [40/480] Analyzing https://github.com/JCSnap/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JCSnap/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JCSnap/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/supermii2/ip.git completed! -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chuababyy/ip.git completed! +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/nicolengk/ip.git... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/nicolengk/ip.git to complete... -Sep 02, 2023 2:25:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JCSnap/ip.git (master)... -Sep 02, 2023 2:25:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chuababyy/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/remuslum/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JCSnap/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JCSnap/ip.git (master) completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/supermii2/ip.git completed! +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/newway1814/ip.git... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [41/480] Analyzing https://github.com/AprupKale/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/glenngnng/ip.git... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/newway1814/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kanna-1/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LINCHENYU2030S/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/coderhuang559/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LINCHENYU2030S/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LINCHENYU2030S/ip.git (master) completed! +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [48/480] Analyzing https://github.com/pra-navi/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/coderhuang559/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/coderhuang559/ip.git (master) completed! +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [49/480] Analyzing https://github.com/LordSaumya/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/pra-navi/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/pra-navi/ip.git (master)... +Sep 02, 2023 2:44:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LordSaumya/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LordSaumya/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/remuslum/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/glenngnng/ip.git... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/glenngnng/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AprupKale/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AprupKale/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kanna-1/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/zsh-eng/ip.git... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/zsh-eng/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tanyyyming/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tanyyyming/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tanyyyming/ip.git (master) completed! -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [42/480] Analyzing https://github.com/woojiahao/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/woojiahao/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/woojiahao/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AprupKale/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AprupKale/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AprupKale/ip.git (master) completed! -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [43/480] Analyzing https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/PetrichorPrecipice/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/nicolengk/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/newway1814/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/mingyuanc/ip.git... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/mingyuanc/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/glenngnng/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/newway1814/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zsh-eng/ip.git completed! -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/LamJiuFong/ip.git... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/GlendaChong/ip.git... -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/woojiahao/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/GlendaChong/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/LamJiuFong/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/starrylight99/ip.git... -Sep 02, 2023 2:25:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/starrylight99/ip.git to complete... -Sep 02, 2023 2:25:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/woojiahao/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/woojiahao/ip.git (master) completed! -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [44/480] Analyzing https://github.com/syamfarh/ip.git (master)... -Sep 02, 2023 2:25:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/syamfarh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/syamfarh/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/PetrichorPrecipice/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/PetrichorPrecipice/ip.git (master) completed! -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [45/480] Analyzing https://github.com/D-Limiter/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/D-Limiter/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/D-Limiter/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/syamfarh/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/syamfarh/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/syamfarh/ip.git (master) completed! -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [46/480] Analyzing https://github.com/coderhuang559/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/D-Limiter/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/coderhuang559/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/coderhuang559/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/D-Limiter/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/D-Limiter/ip.git (master) completed! -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [47/480] Analyzing https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mingyuanc/ip.git completed! -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LINCHENYU2030S/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AustinHuang1203/ip.git... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AustinHuang1203/ip.git to complete... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LamJiuFong/ip.git completed! -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seewhyjay/ip.git... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/GlendaChong/ip.git completed! -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/starrylight99/ip.git completed! -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seewhyjay/ip.git to complete... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruth-lim/ip.git... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/limzhenwy/ip.git... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/limzhenwy/ip.git to complete... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruth-lim/ip.git to complete... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/coderhuang559/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/coderhuang559/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/coderhuang559/ip.git (master) completed! -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [48/480] Analyzing https://github.com/phiphi-tan/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LINCHENYU2030S/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LINCHENYU2030S/ip.git (master) completed! -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [49/480] Analyzing https://github.com/pra-navi/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/pra-navi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/pra-navi/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/phiphi-tan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/phiphi-tan/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AustinHuang1203/ip.git completed! -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xCOLOURx/ip.git... -Sep 02, 2023 2:25:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xCOLOURx/ip.git to complete... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/phiphi-tan/ip.git (master)... -Sep 02, 2023 2:25:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/phiphi-tan/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/phiphi-tan/ip.git (master) completed! -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [50/480] Analyzing https://github.com/ktzy0305/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ktzy0305/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ktzy0305/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruth-lim/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zacwong2151/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zacwong2151/ip.git to complete... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/limzhenwy/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seewhyjay/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Zjinnnn/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/awhb/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Zjinnnn/ip.git to complete... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/awhb/ip.git to complete... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/pra-navi/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/pra-navi/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/pra-navi/ip.git (master) completed! -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [51/480] Analyzing https://github.com/LordSaumya/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LordSaumya/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LordSaumya/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LordSaumya/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/pra-navi/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LordSaumya/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/pra-navi/ip.git (master) completed! +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [50/480] Analyzing https://github.com/Chen1x/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LordSaumya/ip.git (master) completed! -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [52/480] Analyzing https://github.com/Chen1x/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xCOLOURx/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/teoks0199/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/teoks0199/ip.git to complete... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [51/480] Analyzing https://github.com/ktzy0305/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chen1x/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chen1x/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ktzy0305/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ktzy0305/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Chen1x/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Chen1x/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Chen1x/ip.git (master) completed! +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [52/480] Analyzing https://github.com/phiphi-tan/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/phiphi-tan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/phiphi-tan/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/glenngnng/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/GlendaChong/ip.git... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/GlendaChong/ip.git to complete... +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/phiphi-tan/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zsh-eng/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/phiphi-tan/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/phiphi-tan/ip.git (master) completed! +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [53/480] Analyzing https://github.com/oeggy03/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/starrylight99/ip.git... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/starrylight99/ip.git to complete... +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/oeggy03/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/oeggy03/ip.git (master)... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mingyuanc/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LamJiuFong/ip.git completed! +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AustinHuang1203/ip.git... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seewhyjay/ip.git... +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AustinHuang1203/ip.git to complete... +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ktzy0305/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seewhyjay/ip.git to complete... +Sep 02, 2023 2:44:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ktzy0305/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ktzy0305/ip.git (master) completed! -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [53/480] Analyzing https://github.com/yanghengtang/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Chen1x/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [54/480] Analyzing https://github.com/yanghengtang/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yanghengtang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yanghengtang/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Chen1x/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Chen1x/ip.git (master) completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Zjinnnn/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [54/480] Analyzing https://github.com/johnnythesnake12/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/awhb/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/qz1004/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/pangyyen/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/oeggy03/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/oeggy03/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/oeggy03/ip.git (master) completed! +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [55/480] Analyzing https://github.com/johnnythesnake12/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/johnnythesnake12/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/johnnythesnake12/ip.git (master)... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zacwong2151/ip.git completed! -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/qz1004/ip.git to complete... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/pangyyen/ip.git to complete... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Mahidharah/ip.git... -Sep 02, 2023 2:25:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Mahidharah/ip.git to complete... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/GlendaChong/ip.git completed! +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruth-lim/ip.git... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruth-lim/ip.git to complete... +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/johnnythesnake12/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/johnnythesnake12/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/johnnythesnake12/ip.git (master) completed! -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [55/480] Analyzing https://github.com/oeggy03/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/oeggy03/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/oeggy03/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yanghengtang/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/oeggy03/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/oeggy03/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/oeggy03/ip.git (master) completed! -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yanghengtang/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/teoks0199/ip.git completed! -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepos INFO: [56/480] Analyzing https://github.com/p-xp/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yanghengtang/ip.git (master) completed! -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [57/480] Analyzing https://github.com/matochichap/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jason-raiin/ip.git... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jason-raiin/ip.git to complete... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yanghengtang/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/p-xp/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/p-xp/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/matochichap/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/matochichap/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/pangyyen/ip.git completed! -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ravern/ip.git... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ravern/ip.git to complete... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/qz1004/ip.git completed! -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Mahidharah/ip.git completed! -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bobscodedump/ip.git... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nixonwidjaja/ip.git... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bobscodedump/ip.git to complete... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nixonwidjaja/ip.git to complete... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/p-xp/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/p-xp/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/p-xp/ip.git (master) completed! -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [58/480] Analyzing https://github.com/applepiofmyeye/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yanghengtang/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yanghengtang/ip.git (master) completed! +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [57/480] Analyzing https://github.com/applepiofmyeye/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AustinHuang1203/ip.git completed! +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/applepiofmyeye/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/applepiofmyeye/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/matochichap/ip.git (master)... -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jason-raiin/ip.git completed! -Sep 02, 2023 2:25:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/techjay-c/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/techjay-c/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/matochichap/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/matochichap/ip.git (master) completed! -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [59/480] Analyzing https://github.com/TiwKangXu/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ravern/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TiwKangXu/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TiwKangXu/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryanozx/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryanozx/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nixonwidjaja/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LuahJunYang/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bobscodedump/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LuahJunYang/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HEEaZ/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HEEaZ/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/limzhenwy/ip.git... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seewhyjay/ip.git completed! +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/limzhenwy/ip.git to complete... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xCOLOURx/ip.git... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xCOLOURx/ip.git to complete... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/starrylight99/ip.git completed! +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zacwong2151/ip.git... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zacwong2151/ip.git to complete... +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/applepiofmyeye/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/applepiofmyeye/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/applepiofmyeye/ip.git (master) completed! -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [60/480] Analyzing https://github.com/ScarletBlanks/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [58/480] Analyzing https://github.com/matochichap/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/p-xp/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/matochichap/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/matochichap/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/p-xp/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/p-xp/ip.git (master) completed! +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [59/480] Analyzing https://github.com/ScarletBlanks/ip.git (master)... +Sep 02, 2023 2:44:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ScarletBlanks/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ScarletBlanks/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TiwKangXu/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruth-lim/ip.git completed! +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Zjinnnn/ip.git... +Sep 02, 2023 2:44:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Zjinnnn/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ScarletBlanks/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/TiwKangXu/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/TiwKangXu/ip.git (master) completed! -Sep 02, 2023 2:25:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ScarletBlanks/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ScarletBlanks/ip.git (master) completed! -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xCOLOURx/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [60/480] Analyzing https://github.com/TiwKangXu/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/awhb/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/limzhenwy/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/teoks0199/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/awhb/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TiwKangXu/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TiwKangXu/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zacwong2151/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/teoks0199/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/qz1004/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/qz1004/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/matochichap/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/matochichap/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/matochichap/ip.git (master) completed! +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepos INFO: [61/480] Analyzing https://github.com/chiayunrong/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [62/480] Analyzing https://github.com/devanshubisht/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/techjay-c/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dom-buri/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chiayunrong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chiayunrong/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dom-buri/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Zjinnnn/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/pangyyen/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/pangyyen/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TiwKangXu/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/TiwKangXu/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/TiwKangXu/ip.git (master) completed! +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [62/480] Analyzing https://github.com/devanshubisht/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/devanshubisht/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/devanshubisht/ip.git (master)... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryanozx/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LuahJunYang/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlainS87/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tiongjjyi/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HEEaZ/ip.git completed! -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlainS87/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tiongjjyi/ip.git to complete... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Vanessamae23/ip.git... -Sep 02, 2023 2:25:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Vanessamae23/ip.git to complete... -Sep 02, 2023 2:25:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/devanshubisht/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/devanshubisht/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/devanshubisht/ip.git (master) completed! -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [63/480] Analyzing https://github.com/Clin-lyx/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Clin-lyx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Clin-lyx/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dom-buri/ip.git completed! -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/fuyiqiao/ip.git... -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/fuyiqiao/ip.git to complete... -Sep 02, 2023 2:25:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/awhb/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/qz1004/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Mahidharah/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jason-raiin/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/teoks0199/ip.git completed! +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Mahidharah/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ravern/ip.git... +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jason-raiin/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chiayunrong/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ravern/ip.git to complete... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chiayunrong/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chiayunrong/ip.git (master) completed! -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [63/480] Analyzing https://github.com/Clin-lyx/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Clin-lyx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Clin-lyx/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/devanshubisht/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/devanshubisht/ip.git (master)... +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/devanshubisht/ip.git (master) completed! +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator analyzeRepos INFO: [64/480] Analyzing https://github.com/jx124/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tiongjjyi/ip.git completed! -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/spatuly/ip.git... -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jx124/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jx124/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/spatuly/ip.git to complete... -Sep 02, 2023 2:25:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Clin-lyx/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Clin-lyx/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Clin-lyx/ip.git (master) completed! -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepos INFO: [65/480] Analyzing https://github.com/AryanG01/ip.git (master)... -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Vanessamae23/ip.git completed! -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanshiyu1999/ip.git... -Sep 02, 2023 2:25:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanshiyu1999/ip.git to complete... -Sep 02, 2023 2:25:26 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/pangyyen/ip.git completed! +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bobscodedump/ip.git... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bobscodedump/ip.git to complete... +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AryanG01/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AryanG01/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/fuyiqiao/ip.git completed! -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kb-Tay/ip.git... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kb-Tay/ip.git to complete... -Sep 02, 2023 2:25:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AryanG01/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jx124/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AryanG01/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AryanG01/ip.git (master) completed! -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [66/480] Analyzing https://github.com/kayabuttertoastt/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AryanG01/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jx124/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/spatuly/ip.git completed! -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jx124/ip.git (master) completed! -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [67/480] Analyzing https://github.com/sheryew/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/beatricecst/ip.git... -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kayabuttertoastt/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kayabuttertoastt/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/beatricecst/ip.git to complete... -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sheryew/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sheryew/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanshiyu1999/ip.git completed! -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanveersingh10/ip.git... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanveersingh10/ip.git to complete... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kb-Tay/ip.git completed! -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/thienmy0/ip.git... -Sep 02, 2023 2:25:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/thienmy0/ip.git to complete... -Sep 02, 2023 2:25:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/sheryew/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/sheryew/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/sheryew/ip.git (master) completed! -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [68/480] Analyzing https://github.com/jonasongg/ip.git (master)... -Sep 02, 2023 2:25:27 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [66/480] Analyzing https://github.com/jonasongg/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Mahidharah/ip.git completed! +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nixonwidjaja/ip.git... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nixonwidjaja/ip.git to complete... +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AryanG01/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AryanG01/ip.git (master) completed! +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ravern/ip.git completed! +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [67/480] Analyzing https://github.com/kayabuttertoastt/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jonasongg/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jonasongg/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jason-raiin/ip.git completed! +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/techjay-c/ip.git... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryanozx/ip.git... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryanozx/ip.git to complete... +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kayabuttertoastt/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kayabuttertoastt/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/techjay-c/ip.git to complete... +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jonasongg/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kayabuttertoastt/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/beatricecst/ip.git completed! -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/s0ngyang/ip.git... -Sep 02, 2023 2:25:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bobscodedump/ip.git completed! +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LuahJunYang/ip.git... +Sep 02, 2023 2:44:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LuahJunYang/ip.git to complete... +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jonasongg/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kayabuttertoastt/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kayabuttertoastt/ip.git (master) completed! -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jonasongg/ip.git (master) completed! +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [68/480] Analyzing https://github.com/sheryew/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator analyzeRepos INFO: [69/480] Analyzing https://github.com/yiwen101/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/s0ngyang/ip.git to complete... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanveersingh10/ip.git completed! -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sheryew/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sheryew/ip.git (master)... +Sep 02, 2023 2:44:55 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yiwen101/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yiwen101/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ldinghan/ip.git... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ldinghan/ip.git to complete... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/thienmy0/ip.git completed! -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/feifeiraindrops/ip.git... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/feifeiraindrops/ip.git to complete... -Sep 02, 2023 2:25:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jonasongg/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlainS87/ip.git completed! -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryanongwx/ip.git... -Sep 02, 2023 2:25:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jonasongg/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jonasongg/ip.git (master) completed! -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nixonwidjaja/ip.git completed! +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HEEaZ/ip.git... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HEEaZ/ip.git to complete... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryanozx/ip.git completed! +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/techjay-c/ip.git completed! +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dom-buri/ip.git... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlainS87/ip.git... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dom-buri/ip.git to complete... +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/sheryew/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlainS87/ip.git to complete... +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/sheryew/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/sheryew/ip.git (master) completed! +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [70/480] Analyzing https://github.com/tiongMax/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryanongwx/ip.git to complete... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s0ngyang/ip.git completed! -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tiongMax/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tiongMax/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kwangthiag/ip.git... -Sep 02, 2023 2:25:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kwangthiag/ip.git to complete... -Sep 02, 2023 2:25:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yiwen101/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LuahJunYang/ip.git completed! +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tiongjjyi/ip.git... +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yiwen101/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tiongjjyi/ip.git to complete... +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yiwen101/ip.git (master) completed! -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [71/480] Analyzing https://github.com/supermii2/ip.git (master)... -Sep 02, 2023 2:25:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/supermii2/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/supermii2/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ldinghan/ip.git completed! -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/feifeiraindrops/ip.git completed! -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/elhy1999/ip.git... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/songgthu/ip.git... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/elhy1999/ip.git to complete... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/songgthu/ip.git to complete... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [71/480] Analyzing https://github.com/chuababyy/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/chuababyy/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/chuababyy/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tiongMax/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tiongMax/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tiongMax/ip.git (master) completed! -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [72/480] Analyzing https://github.com/chuababyy/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/chuababyy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/chuababyy/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryanongwx/ip.git completed! -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kwangthiag/ip.git completed! -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/supermii2/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/GohTengFong/ip.git... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/simbayippy/ip.git... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/supermii2/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/supermii2/ip.git (master) completed! -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [73/480] Analyzing https://github.com/remuslum/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/simbayippy/ip.git to complete... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/GohTengFong/ip.git to complete... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/remuslum/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/remuslum/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [72/480] Analyzing https://github.com/supermii2/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/supermii2/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/supermii2/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chuababyy/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chuababyy/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chuababyy/ip.git (master) completed! -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [73/480] Analyzing https://github.com/remuslum/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/remuslum/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/remuslum/ip.git (master)... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HEEaZ/ip.git completed! +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Vanessamae23/ip.git... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Vanessamae23/ip.git to complete... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dom-buri/ip.git completed! +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/fuyiqiao/ip.git... +Sep 02, 2023 2:44:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/fuyiqiao/ip.git to complete... +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tiongjjyi/ip.git completed! +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/spatuly/ip.git... +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/spatuly/ip.git to complete... +Sep 02, 2023 2:44:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/supermii2/ip.git (master)... +Sep 02, 2023 2:44:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/supermii2/ip.git (master)... +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/supermii2/ip.git (master) completed! +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator analyzeRepos INFO: [74/480] Analyzing https://github.com/kanna-1/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/elhy1999/ip.git completed! -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/songgthu/ip.git completed! -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/remuslum/ip.git (master)... +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kanna-1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kanna-1/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Khaleelur-Rahman/ip.git... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/proto-aiken-13/ip.git... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Khaleelur-Rahman/ip.git to complete... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/proto-aiken-13/ip.git to complete... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/remuslum/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/remuslum/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/remuslum/ip.git (master) completed! -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator analyzeRepos INFO: [75/480] Analyzing https://github.com/nicolengk/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Vanessamae23/ip.git completed! +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanshiyu1999/ip.git... +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicolengk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicolengk/ip.git (master)... -Sep 02, 2023 2:25:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/GohTengFong/ip.git completed! -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bwangpj/ip.git... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bwangpj/ip.git to complete... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/simbayippy/ip.git completed! -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/weeweh/ip.git... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/weeweh/ip.git to complete... -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanshiyu1999/ip.git to complete... +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/fuyiqiao/ip.git completed! +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kb-Tay/ip.git... +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kb-Tay/ip.git to complete... +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/spatuly/ip.git completed! +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/beatricecst/ip.git... +Sep 02, 2023 2:44:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/beatricecst/ip.git to complete... +Sep 02, 2023 2:44:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicolengk/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicolengk/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kanna-1/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicolengk/ip.git (master) completed! -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [76/480] Analyzing https://github.com/glenngnng/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [76/480] Analyzing https://github.com/newway1814/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/newway1814/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/newway1814/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanshiyu1999/ip.git completed! +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanveersingh10/ip.git... +Sep 02, 2023 2:44:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kanna-1/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanveersingh10/ip.git to complete... +Sep 02, 2023 2:44:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kanna-1/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kanna-1/ip.git (master) completed! -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [77/480] Analyzing https://github.com/newway1814/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [77/480] Analyzing https://github.com/glenngnng/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/glenngnng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/glenngnng/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/newway1814/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/newway1814/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Khaleelur-Rahman/ip.git completed! -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/s-peiran/ip.git... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/s-peiran/ip.git to complete... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/proto-aiken-13/ip.git completed! -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jylow/ip.git... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jylow/ip.git to complete... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bwangpj/ip.git completed! -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kb-Tay/ip.git completed! +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/thienmy0/ip.git... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/thienmy0/ip.git to complete... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/beatricecst/ip.git completed! +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/s0ngyang/ip.git... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/s0ngyang/ip.git to complete... +Sep 02, 2023 2:44:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/newway1814/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/newway1814/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/newway1814/ip.git (master) completed! +Sep 02, 2023 2:44:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/glenngnng/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lawruixi/ip.git... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lawruixi/ip.git to complete... -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/glenngnng/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/glenngnng/ip.git (master) completed! -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator analyzeRepos INFO: [78/480] Analyzing https://github.com/zsh-eng/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/glenngnng/ip.git (master) completed! +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [79/480] Analyzing https://github.com/mingyuanc/ip.git (master)... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlainS87/ip.git completed! +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ldinghan/ip.git... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ldinghan/ip.git to complete... +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zsh-eng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zsh-eng/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/weeweh/ip.git completed! -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/newway1814/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JeremyYong128/ip.git... -Sep 02, 2023 2:25:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JeremyYong128/ip.git to complete... -Sep 02, 2023 2:25:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/newway1814/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/newway1814/ip.git (master) completed! -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [79/480] Analyzing https://github.com/mingyuanc/ip.git (master)... -Sep 02, 2023 2:25:30 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mingyuanc/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mingyuanc/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s-peiran/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brandon-nam/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brandon-nam/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jylow/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LHeng1/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LHeng1/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lawruixi/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Leb14/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Leb14/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zsh-eng/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zsh-eng/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zsh-eng/ip.git (master) completed! -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanveersingh10/ip.git completed! +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/feifeiraindrops/ip.git... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/feifeiraindrops/ip.git to complete... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/thienmy0/ip.git completed! +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryanongwx/ip.git... +Sep 02, 2023 2:44:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryanongwx/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s0ngyang/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kwangthiag/ip.git... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kwangthiag/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mingyuanc/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/mingyuanc/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/mingyuanc/ip.git (master) completed! +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepos INFO: [80/480] Analyzing https://github.com/LamJiuFong/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JeremyYong128/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/B-enguin/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ldinghan/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LamJiuFong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LamJiuFong/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/mingyuanc/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/B-enguin/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/mingyuanc/ip.git (master) completed! -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [81/480] Analyzing https://github.com/starrylight99/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/starrylight99/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/starrylight99/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/starrylight99/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/starrylight99/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/starrylight99/ip.git (master) completed! -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [82/480] Analyzing https://github.com/GlendaChong/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brandon-nam/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/elhy1999/ip.git... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/elhy1999/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/feifeiraindrops/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/songgthu/ip.git... +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zsh-eng/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/songgthu/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zsh-eng/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zsh-eng/ip.git (master) completed! +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [81/480] Analyzing https://github.com/GlendaChong/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/GlendaChong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/GlendaChong/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/s-kybound/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LHeng1/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/s-kybound/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wesho1107/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wesho1107/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Leb14/ip.git completed! -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yihfei/ip.git... -Sep 02, 2023 2:25:31 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yihfei/ip.git to complete... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryanongwx/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/GohTengFong/ip.git... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kwangthiag/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/simbayippy/ip.git... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/GohTengFong/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/simbayippy/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LamJiuFong/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LamJiuFong/ip.git (master)... -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LamJiuFong/ip.git (master) completed! -Sep 02, 2023 2:25:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [83/480] Analyzing https://github.com/AustinHuang1203/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/B-enguin/ip.git completed! -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AaronJT1/ip.git... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [82/480] Analyzing https://github.com/AustinHuang1203/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AustinHuang1203/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:44:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AustinHuang1203/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AaronJT1/ip.git to complete... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/GlendaChong/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:44:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/GlendaChong/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/GlendaChong/ip.git (master) completed! -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [84/480] Analyzing https://github.com/ruth-lim/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [83/480] Analyzing https://github.com/seewhyjay/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/elhy1999/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Khaleelur-Rahman/ip.git... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Khaleelur-Rahman/ip.git to complete... +Sep 02, 2023 2:44:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seewhyjay/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:44:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seewhyjay/ip.git (master)... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/songgthu/ip.git completed! +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/proto-aiken-13/ip.git... +Sep 02, 2023 2:44:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/proto-aiken-13/ip.git to complete... +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AustinHuang1203/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruth-lim/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruth-lim/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AustinHuang1203/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AustinHuang1203/ip.git (master) completed! -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [85/480] Analyzing https://github.com/limzhenwy/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/limzhenwy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/limzhenwy/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/s-kybound/ip.git completed! -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dlathyun/ip.git... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dlathyun/ip.git to complete... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wesho1107/ip.git completed! -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yihfei/ip.git completed! -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ricketytoc/ip.git... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Angelyxx/ip.git... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ricketytoc/ip.git to complete... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Angelyxx/ip.git to complete... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AaronJT1/ip.git completed! -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jingting1412/ip.git... -Sep 02, 2023 2:25:32 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jingting1412/ip.git to complete... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/limzhenwy/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/limzhenwy/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/limzhenwy/ip.git (master) completed! -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [86/480] Analyzing https://github.com/seewhyjay/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seewhyjay/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seewhyjay/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruth-lim/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruth-lim/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruth-lim/ip.git (master) completed! -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [87/480] Analyzing https://github.com/xCOLOURx/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/xCOLOURx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/xCOLOURx/ip.git (master)... -Sep 02, 2023 2:25:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [84/480] Analyzing https://github.com/starrylight99/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/starrylight99/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/starrylight99/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/seewhyjay/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/seewhyjay/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/seewhyjay/ip.git (master) completed! -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [88/480] Analyzing https://github.com/awhb/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/awhb/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/awhb/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dlathyun/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SinhaVedant/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SinhaVedant/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ricketytoc/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Angelyxx/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/freddychenyouren2/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jordankanghm/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jordankanghm/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingting1412/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/freddychenyouren2/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/adhigop13/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/adhigop13/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [85/480] Analyzing https://github.com/ruth-lim/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruth-lim/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruth-lim/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/simbayippy/ip.git completed! +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/starrylight99/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/GohTengFong/ip.git completed! +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bwangpj/ip.git... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/weeweh/ip.git... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bwangpj/ip.git to complete... +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/starrylight99/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/starrylight99/ip.git (master) completed! +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [86/480] Analyzing https://github.com/xCOLOURx/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/weeweh/ip.git to complete... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/xCOLOURx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/xCOLOURx/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Khaleelur-Rahman/ip.git completed! +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/s-peiran/ip.git... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/proto-aiken-13/ip.git completed! +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/s-peiran/ip.git to complete... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jylow/ip.git... +Sep 02, 2023 2:45:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jylow/ip.git to complete... +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xCOLOURx/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/awhb/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xCOLOURx/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/awhb/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/awhb/ip.git (master) completed! -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xCOLOURx/ip.git (master) completed! -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [89/480] Analyzing https://github.com/Zjinnnn/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [90/480] Analyzing https://github.com/zacwong2151/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [87/480] Analyzing https://github.com/limzhenwy/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/limzhenwy/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/limzhenwy/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruth-lim/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruth-lim/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruth-lim/ip.git (master) completed! +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [88/480] Analyzing https://github.com/zacwong2151/ip.git (master)... +Sep 02, 2023 2:45:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/zacwong2151/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/zacwong2151/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Zjinnnn/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Zjinnnn/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/weeweh/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lawruixi/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bwangpj/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lawruixi/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JeremyYong128/ip.git... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/limzhenwy/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JeremyYong128/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zacwong2151/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SinhaVedant/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zacwong2151/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zacwong2151/ip.git (master) completed! -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [91/480] Analyzing https://github.com/teoks0199/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [89/480] Analyzing https://github.com/Zjinnnn/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/limzhenwy/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/limzhenwy/ip.git (master) completed! +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [90/480] Analyzing https://github.com/awhb/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s-peiran/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brandon-nam/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brandon-nam/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/awhb/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/awhb/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Zjinnnn/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Zjinnnn/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jylow/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LHeng1/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LHeng1/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/awhb/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Zjinnnn/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/waseemingly/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/waseemingly/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/awhb/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/awhb/ip.git (master) completed! +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [91/480] Analyzing https://github.com/qz1004/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Zjinnnn/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/freddychenyouren2/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Zjinnnn/ip.git (master) completed! -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [92/480] Analyzing https://github.com/pangyyen/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/raydenlim/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [92/480] Analyzing https://github.com/teoks0199/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/qz1004/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/qz1004/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teoks0199/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teoks0199/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jordankanghm/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/raydenlim/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jingyu987/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jingyu987/ip.git to complete... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/adhigop13/ip.git completed! -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/FerdiHS/ip.git... -Sep 02, 2023 2:25:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/qz1004/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/qz1004/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/qz1004/ip.git (master) completed! +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [93/480] Analyzing https://github.com/pangyyen/ip.git (master)... +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/pangyyen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/pangyyen/ip.git (master)... -Sep 02, 2023 2:25:33 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/FerdiHS/ip.git to complete... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JeremyYong128/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Leb14/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lawruixi/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Leb14/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/B-enguin/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/B-enguin/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/teoks0199/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/teoks0199/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/teoks0199/ip.git (master) completed! -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [93/480] Analyzing https://github.com/qz1004/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/qz1004/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/qz1004/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/pangyyen/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/pangyyen/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/pangyyen/ip.git (master) completed! -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [94/480] Analyzing https://github.com/Mahidharah/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Mahidharah/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Mahidharah/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingyu987/ip.git completed! -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/waseemingly/ip.git completed! -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jrchoo/ip.git... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jrchoo/ip.git to complete... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RiyaMehta2211/ip.git... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/qz1004/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/RiyaMehta2211/ip.git to complete... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/FerdiHS/ip.git completed! -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/qz1004/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/qz1004/ip.git (master) completed! -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [95/480] Analyzing https://github.com/jason-raiin/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leezhanpeng/ip.git... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/raydenlim/ip.git completed! -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/leezhanpeng/ip.git to complete... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/juzzztinsoong/ip.git... -Sep 02, 2023 2:25:34 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/juzzztinsoong/ip.git to complete... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jason-raiin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jason-raiin/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brandon-nam/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/s-kybound/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/s-kybound/ip.git to complete... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LHeng1/ip.git completed! +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wesho1107/ip.git... +Sep 02, 2023 2:45:01 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wesho1107/ip.git to complete... +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Mahidharah/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Mahidharah/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Mahidharah/ip.git (master) completed! -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [96/480] Analyzing https://github.com/ravern/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [95/480] Analyzing https://github.com/ravern/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ravern/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ravern/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/pangyyen/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/pangyyen/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/pangyyen/ip.git (master) completed! +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [96/480] Analyzing https://github.com/jason-raiin/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jason-raiin/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jason-raiin/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/B-enguin/ip.git completed! +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Leb14/ip.git completed! +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yihfei/ip.git... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AaronJT1/ip.git... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yihfei/ip.git to complete... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AaronJT1/ip.git to complete... +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jason-raiin/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jason-raiin/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jason-raiin/ip.git (master) completed! -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [97/480] Analyzing https://github.com/nixonwidjaja/ip.git (master)... -Sep 02, 2023 2:25:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nixonwidjaja/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nixonwidjaja/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jrchoo/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leezhanpeng/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/darrentfy/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/redtailedfox/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/redtailedfox/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RiyaMehta2211/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/darrentfy/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Fallman2/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Fallman2/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [97/480] Analyzing https://github.com/bobscodedump/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bobscodedump/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bobscodedump/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ravern/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/juzzztinsoong/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Heran9/ip.git... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/s-kybound/ip.git completed! +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ravern/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ravern/ip.git (master) completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Heran9/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [98/480] Analyzing https://github.com/bobscodedump/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [98/480] Analyzing https://github.com/nixonwidjaja/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dlathyun/ip.git... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dlathyun/ip.git to complete... +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nixonwidjaja/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nixonwidjaja/ip.git (master)... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wesho1107/ip.git completed! +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ricketytoc/ip.git... +Sep 02, 2023 2:45:02 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ricketytoc/ip.git to complete... +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nixonwidjaja/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bobscodedump/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bobscodedump/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nixonwidjaja/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nixonwidjaja/ip.git (master) completed! -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [99/480] Analyzing https://github.com/techjay-c/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/techjay-c/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/techjay-c/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/techjay-c/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [99/480] Analyzing https://github.com/ryanozx/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yihfei/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ryanozx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ryanozx/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Angelyxx/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Angelyxx/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AaronJT1/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jingting1412/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jingting1412/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/bobscodedump/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/techjay-c/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/techjay-c/ip.git (master) completed! -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [100/480] Analyzing https://github.com/ryanozx/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/bobscodedump/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/bobscodedump/ip.git (master) completed! -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dlathyun/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [100/480] Analyzing https://github.com/techjay-c/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SinhaVedant/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SinhaVedant/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/techjay-c/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/techjay-c/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ricketytoc/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/freddychenyouren2/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/freddychenyouren2/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ryanozx/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ryanozx/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ryanozx/ip.git (master) completed! +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepos INFO: [101/480] Analyzing https://github.com/LuahJunYang/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/redtailedfox/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/VN-Hao/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/VN-Hao/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ryanozx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ryanozx/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LuahJunYang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LuahJunYang/ip.git (master)... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Fallman2/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/darrentfy/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jingjie88/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/H1410101/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/H1410101/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jingjie88/ip.git to complete... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Heran9/ip.git completed! -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kimshitong/ip.git... -Sep 02, 2023 2:25:35 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kimshitong/ip.git to complete... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/techjay-c/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/techjay-c/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/techjay-c/ip.git (master) completed! +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [102/480] Analyzing https://github.com/HEEaZ/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LuahJunYang/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LuahJunYang/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LuahJunYang/ip.git (master) completed! -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [102/480] Analyzing https://github.com/HEEaZ/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [103/480] Analyzing https://github.com/dom-buri/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/HEEaZ/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/HEEaZ/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ryanozx/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ryanozx/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ryanozx/ip.git (master) completed! -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [103/480] Analyzing https://github.com/dom-buri/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dom-buri/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dom-buri/ip.git (master)... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Angelyxx/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jordankanghm/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jordankanghm/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingting1412/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/adhigop13/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/adhigop13/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SinhaVedant/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/waseemingly/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/waseemingly/ip.git to complete... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/freddychenyouren2/ip.git completed! +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/raydenlim/ip.git... +Sep 02, 2023 2:45:03 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/raydenlim/ip.git to complete... +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/HEEaZ/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/HEEaZ/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/HEEaZ/ip.git (master) completed! -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [104/480] Analyzing https://github.com/tiongjjyi/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dom-buri/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dom-buri/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dom-buri/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tiongjjyi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tiongjjyi/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/VN-Hao/ip.git completed! -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jingjie88/ip.git completed! -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ivanleekk/ip.git... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ivanleekk/ip.git to complete... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/H1410101/ip.git completed! -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kimshitong/ip.git completed! -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lamchenghou/ip.git... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lamchenghou/ip.git to complete... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tayruxin/ip.git... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/raynertjx/ip.git... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tayruxin/ip.git to complete... -Sep 02, 2023 2:25:36 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/raynertjx/ip.git to complete... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiongjjyi/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tiongjjyi/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tiongjjyi/ip.git (master) completed! -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dom-buri/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dom-buri/ip.git (master) completed! +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [105/480] Analyzing https://github.com/Vanessamae23/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Vanessamae23/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Vanessamae23/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dom-buri/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dom-buri/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dom-buri/ip.git (master) completed! -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [106/480] Analyzing https://github.com/fuyiqiao/ip.git (master)... -Sep 02, 2023 2:25:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/fuyiqiao/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/fuyiqiao/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiongjjyi/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Vanessamae23/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tiongjjyi/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tiongjjyi/ip.git (master) completed! +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [106/480] Analyzing https://github.com/fuyiqiao/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Vanessamae23/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Vanessamae23/ip.git (master) completed! -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [107/480] Analyzing https://github.com/spatuly/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/fuyiqiao/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/fuyiqiao/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/spatuly/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/spatuly/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ivanleekk/ip.git completed! -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhengyup/ip.git... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhengyup/ip.git to complete... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tayruxin/ip.git completed! -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/adhigop13/ip.git completed! +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jordankanghm/ip.git completed! +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jingyu987/ip.git... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/FerdiHS/ip.git... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jingyu987/ip.git to complete... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/FerdiHS/ip.git to complete... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/raydenlim/ip.git completed! +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jrchoo/ip.git... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/waseemingly/ip.git completed! +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jrchoo/ip.git to complete... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RiyaMehta2211/ip.git... +Sep 02, 2023 2:45:04 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/RiyaMehta2211/ip.git to complete... +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/fuyiqiao/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lamchenghou/ip.git completed! -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/larrywang0701/ip.git... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/raynertjx/ip.git completed! -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/larrywang0701/ip.git to complete... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Carlintyj/ip.git... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/fuyiqiao/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/fuyiqiao/ip.git (master) completed! -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [108/480] Analyzing https://github.com/tanshiyu1999/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wxwern/ip.git... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Carlintyj/ip.git to complete... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wxwern/ip.git to complete... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/spatuly/ip.git (master)... +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tanshiyu1999/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tanshiyu1999/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/spatuly/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/spatuly/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/spatuly/ip.git (master) completed! -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [109/480] Analyzing https://github.com/Kb-Tay/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kb-Tay/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kb-Tay/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanshiyu1999/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanshiyu1999/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanshiyu1999/ip.git (master) completed! -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [110/480] Analyzing https://github.com/beatricecst/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhengyup/ip.git completed! -Sep 02, 2023 2:25:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/beatricecst/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/beatricecst/ip.git (master)... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nubnubyas/ip.git... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nubnubyas/ip.git to complete... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/larrywang0701/ip.git completed! -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/aslam341/ip.git... -Sep 02, 2023 2:25:37 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aslam341/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wxwern/ip.git completed! -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LWZ19/ip.git... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Carlintyj/ip.git completed! -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LWZ19/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/timleow/ip.git... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/timleow/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kb-Tay/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Kb-Tay/ip.git (master)... +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Kb-Tay/ip.git (master) completed! +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [111/480] Analyzing https://github.com/AlainS87/ip.git (master)... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingyu987/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/FerdiHS/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leezhanpeng/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/juzzztinsoong/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/juzzztinsoong/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/leezhanpeng/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jrchoo/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RiyaMehta2211/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/darrentfy/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/redtailedfox/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/darrentfy/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/redtailedfox/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/beatricecst/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/beatricecst/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Kb-Tay/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/beatricecst/ip.git (master) completed! -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Kb-Tay/ip.git (master) completed! -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [111/480] Analyzing https://github.com/tanveersingh10/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [112/480] Analyzing https://github.com/thienmy0/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [112/480] Analyzing https://github.com/tanveersingh10/ip.git (master)... +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tanveersingh10/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tanveersingh10/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/thienmy0/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/thienmy0/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AlainS87/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AlainS87/ip.git (master)... +Sep 02, 2023 2:45:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanveersingh10/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/thienmy0/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanveersingh10/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanveersingh10/ip.git (master) completed! -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [113/480] Analyzing https://github.com/AlainS87/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nubnubyas/ip.git completed! -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [113/480] Analyzing https://github.com/thienmy0/ip.git (master)... +Sep 02, 2023 2:45:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/thienmy0/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/thienmy0/ip.git (master)... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/juzzztinsoong/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leezhanpeng/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Fallman2/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Heran9/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/darrentfy/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Fallman2/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/redtailedfox/ip.git completed! +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/VN-Hao/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Heran9/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/VN-Hao/ip.git to complete... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jingjie88/ip.git... +Sep 02, 2023 2:45:05 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jingjie88/ip.git to complete... +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/thienmy0/ip.git (master)... +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/thienmy0/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/thienmy0/ip.git (master) completed! -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepos INFO: [114/480] Analyzing https://github.com/s0ngyang/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rayshawntan/ip.git... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rayshawntan/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aslam341/ip.git completed! -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/aexolate/ip.git... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aexolate/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/s0ngyang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/s0ngyang/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LWZ19/ip.git completed! -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sheeepen/ip.git... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/timleow/ip.git completed! -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sheeepen/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shuyangk/ip.git... -Sep 02, 2023 2:25:38 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shuyangk/ip.git to complete... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/s0ngyang/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/s0ngyang/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/s0ngyang/ip.git (master) completed! -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepos INFO: [115/480] Analyzing https://github.com/ldinghan/ip.git (master)... -Sep 02, 2023 2:25:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ldinghan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ldinghan/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ldinghan/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ldinghan/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ldinghan/ip.git (master) completed! -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepos INFO: [116/480] Analyzing https://github.com/feifeiraindrops/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AlainS87/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AlainS87/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/feifeiraindrops/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/feifeiraindrops/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aexolate/ip.git completed! -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ncmathan/ip.git... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ncmathan/ip.git to complete... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rayshawntan/ip.git completed! -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/iyioon/ip.git... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/iyioon/ip.git to complete... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sheeepen/ip.git completed! -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kiwibang/ip.git... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shuyangk/ip.git completed! -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kiwibang/ip.git to complete... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mingyu-wan/ip.git... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mingyu-wan/ip.git to complete... -Sep 02, 2023 2:25:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/VN-Hao/ip.git completed! +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Heran9/ip.git completed! +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/H1410101/ip.git... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/H1410101/ip.git to complete... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kimshitong/ip.git... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jingjie88/ip.git completed! +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kimshitong/ip.git to complete... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Fallman2/ip.git completed! +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ivanleekk/ip.git... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lamchenghou/ip.git... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lamchenghou/ip.git to complete... +Sep 02, 2023 2:45:06 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ivanleekk/ip.git to complete... +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/feifeiraindrops/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/feifeiraindrops/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/feifeiraindrops/ip.git (master) completed! -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [117/480] Analyzing https://github.com/kwangthiag/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kwangthiag/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kwangthiag/ip.git (master)... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ncmathan/ip.git completed! -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LuoZYi/ip.git... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LuoZYi/ip.git to complete... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/iyioon/ip.git completed! -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/asdfghjkxd/ip.git... -Sep 02, 2023 2:25:39 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/asdfghjkxd/ip.git to complete... -Sep 02, 2023 2:25:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kwangthiag/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kwangthiag/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kwangthiag/ip.git (master) completed! -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [118/480] Analyzing https://github.com/ryanongwx/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kiwibang/ip.git completed! -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sushiyade/ip.git... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mingyu-wan/ip.git completed! -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [117/480] Analyzing https://github.com/ryanongwx/ip.git (master)... +Sep 02, 2023 2:45:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ryanongwx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ryanongwx/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sushiyade/ip.git to complete... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nid21cs/ip.git... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Nid21cs/ip.git to complete... -Sep 02, 2023 2:25:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ryanongwx/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryanongwx/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryanongwx/ip.git (master) completed! -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [118/480] Analyzing https://github.com/kwangthiag/ip.git (master)... +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kwangthiag/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kwangthiag/ip.git (master)... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kimshitong/ip.git completed! +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tayruxin/ip.git... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/H1410101/ip.git completed! +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tayruxin/ip.git to complete... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lamchenghou/ip.git completed! +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/raynertjx/ip.git... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhengyup/ip.git... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/raynertjx/ip.git to complete... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ivanleekk/ip.git completed! +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhengyup/ip.git to complete... +Sep 02, 2023 2:45:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kwangthiag/ip.git (master)... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/larrywang0701/ip.git... +Sep 02, 2023 2:45:07 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/larrywang0701/ip.git to complete... +Sep 02, 2023 2:45:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kwangthiag/ip.git (master)... +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kwangthiag/ip.git (master) completed! +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator analyzeRepos INFO: [119/480] Analyzing https://github.com/elhy1999/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/elhy1999/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/elhy1999/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LuoZYi/ip.git completed! -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/McNaBry/ip.git... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/McNaBry/ip.git to complete... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/asdfghjkxd/ip.git completed! -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/miljyy/ip.git... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sushiyade/ip.git completed! -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ncduy0303/ip.git... -Sep 02, 2023 2:25:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AlainS87/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/miljyy/ip.git to complete... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nid21cs/ip.git completed! -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ncduy0303/ip.git to complete... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/eyelessrhyme7/ip.git... -Sep 02, 2023 2:25:40 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/eyelessrhyme7/ip.git to complete... -Sep 02, 2023 2:25:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AlainS87/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AlainS87/ip.git (master) completed! -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [120/480] Analyzing https://github.com/songgthu/ip.git (master)... -Sep 02, 2023 2:25:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/songgthu/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/songgthu/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/elhy1999/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/elhy1999/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/elhy1999/ip.git (master) completed! -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [121/480] Analyzing https://github.com/GohTengFong/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/GohTengFong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/GohTengFong/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/McNaBry/ip.git completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruishanteo/ip.git... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruishanteo/ip.git to complete... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [120/480] Analyzing https://github.com/songgthu/ip.git (master)... +Sep 02, 2023 2:45:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/songgthu/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/songgthu/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tayruxin/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AlainS87/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Carlintyj/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Carlintyj/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/raynertjx/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhengyup/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/larrywang0701/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wxwern/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wxwern/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nubnubyas/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/aslam341/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nubnubyas/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aslam341/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AlainS87/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AlainS87/ip.git (master) completed! +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [121/480] Analyzing https://github.com/simbayippy/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/songgthu/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ncduy0303/ip.git completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/m1oojv/ip.git... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/songgthu/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/songgthu/ip.git (master) completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/miljyy/ip.git completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/m1oojv/ip.git to complete... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [122/480] Analyzing https://github.com/simbayippy/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/eyelessrhyme7/ip.git completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nixx162/ip.git... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Nixx162/ip.git to complete... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/simbayippy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/simbayippy/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Gabriel4357/ip.git... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Gabriel4357/ip.git to complete... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/GohTengFong/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/GohTengFong/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/songgthu/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/songgthu/ip.git (master) completed! +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [122/480] Analyzing https://github.com/GohTengFong/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/GohTengFong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/GohTengFong/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/GohTengFong/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/simbayippy/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/GohTengFong/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/GohTengFong/ip.git (master) completed! -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [123/480] Analyzing https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Khaleelur-Rahman/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/simbayippy/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruishanteo/ip.git completed! -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/simbayippy/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/simbayippy/ip.git (master) completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mfjkri/ip.git... -Sep 02, 2023 2:25:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Khaleelur-Rahman/ip.git (master) completed! -Sep 02, 2023 2:25:41 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mfjkri/ip.git to complete... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [124/480] Analyzing https://github.com/proto-aiken-13/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [125/480] Analyzing https://github.com/bwangpj/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Khaleelur-Rahman/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Carlintyj/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LWZ19/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/proto-aiken-13/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/proto-aiken-13/ip.git (master)... -Sep 02, 2023 2:25:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bwangpj/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bwangpj/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/m1oojv/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LWZ19/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wxwern/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nubnubyas/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aslam341/ip.git completed! +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/timleow/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rayshawntan/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/aexolate/ip.git... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/timleow/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aexolate/ip.git to complete... +Sep 02, 2023 2:45:08 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rayshawntan/ip.git to complete... +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/proto-aiken-13/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/junhonglow/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/junhonglow/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nixx162/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/proto-aiken-13/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/proto-aiken-13/ip.git (master) completed! -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [126/480] Analyzing https://github.com/weeweh/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RoeReRe/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Gabriel4357/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/RoeReRe/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Badatprogrammiing/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [125/480] Analyzing https://github.com/weeweh/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/weeweh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/weeweh/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Badatprogrammiing/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Khaleelur-Rahman/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Khaleelur-Rahman/ip.git (master) completed! +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [126/480] Analyzing https://github.com/bwangpj/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bwangpj/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bwangpj/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/bwangpj/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/bwangpj/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/weeweh/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/bwangpj/ip.git (master) completed! -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/weeweh/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepos INFO: [127/480] Analyzing https://github.com/s-peiran/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/weeweh/ip.git (master) completed! +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [128/480] Analyzing https://github.com/jylow/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jylow/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jylow/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/s-peiran/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/s-peiran/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mfjkri/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nknguyenhc/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nknguyenhc/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/weeweh/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LWZ19/ip.git completed! +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/timleow/ip.git completed! +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sheeepen/ip.git... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shuyangk/ip.git... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shuyangk/ip.git to complete... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sheeepen/ip.git to complete... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rayshawntan/ip.git completed! +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aexolate/ip.git completed! +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ncmathan/ip.git... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/iyioon/ip.git... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/iyioon/ip.git to complete... +Sep 02, 2023 2:45:09 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ncmathan/ip.git to complete... +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/s-peiran/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/weeweh/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/weeweh/ip.git (master) completed! -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [128/480] Analyzing https://github.com/jylow/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/junhonglow/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/s-peiran/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/s-peiran/ip.git (master) completed! -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [129/480] Analyzing https://github.com/lawruixi/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/winson8222/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jylow/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jylow/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/winson8222/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lawruixi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lawruixi/ip.git (master)... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RoeReRe/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Badatprogrammiing/ip.git completed! -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wujy28/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wujy28/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SimWPEric/ip.git... -Sep 02, 2023 2:25:42 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SimWPEric/ip.git to complete... -Sep 02, 2023 2:25:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lawruixi/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lawruixi/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lawruixi/ip.git (master) completed! -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [130/480] Analyzing https://github.com/JeremyYong128/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jylow/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [129/480] Analyzing https://github.com/JeremyYong128/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JeremyYong128/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JeremyYong128/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jylow/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jylow/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jylow/ip.git (master) completed! -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [130/480] Analyzing https://github.com/lawruixi/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lawruixi/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lawruixi/ip.git (master)... +Sep 02, 2023 2:45:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JeremyYong128/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JeremyYong128/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JeremyYong128/ip.git (master) completed! +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepos INFO: [131/480] Analyzing https://github.com/brandon-nam/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/brandon-nam/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/brandon-nam/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nknguyenhc/ip.git completed! -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HugeNoob/ip.git... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HugeNoob/ip.git to complete... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/winson8222/ip.git completed! -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lerxuann/ip.git... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lerxuann/ip.git to complete... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/brandon-nam/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wujy28/ip.git completed! -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Weiennn/ip.git... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Weiennn/ip.git to complete... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/brandon-nam/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/brandon-nam/ip.git (master) completed! -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lawruixi/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lawruixi/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lawruixi/ip.git (master) completed! +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepos INFO: [132/480] Analyzing https://github.com/LHeng1/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LHeng1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LHeng1/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SimWPEric/ip.git completed! -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/maj0-0/ip.git... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JeremyYong128/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/maj0-0/ip.git to complete... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JeremyYong128/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JeremyYong128/ip.git (master) completed! -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [133/480] Analyzing https://github.com/Leb14/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Leb14/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Leb14/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sheeepen/ip.git completed! +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ncmathan/ip.git completed! +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shuyangk/ip.git completed! +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/iyioon/ip.git completed! +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kiwibang/ip.git... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mingyu-wan/ip.git... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LuoZYi/ip.git... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mingyu-wan/ip.git to complete... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kiwibang/ip.git to complete... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/asdfghjkxd/ip.git... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LuoZYi/ip.git to complete... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/asdfghjkxd/ip.git to complete... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/brandon-nam/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/brandon-nam/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/brandon-nam/ip.git (master) completed! +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepos +INFO: [133/480] Analyzing https://github.com/B-enguin/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LHeng1/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LHeng1/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LHeng1/ip.git (master) completed! -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [134/480] Analyzing https://github.com/B-enguin/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/B-enguin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/B-enguin/ip.git (master)... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HugeNoob/ip.git completed! -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/qyaner/ip.git... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/qyaner/ip.git to complete... -Sep 02, 2023 2:25:43 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lerxuann/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruiyangzh/ip.git... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruiyangzh/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Weiennn/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bombbird2001/ip.git... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bombbird2001/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/maj0-0/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/hyc17003/ip.git... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hyc17003/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepos +INFO: [134/480] Analyzing https://github.com/Leb14/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Leb14/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Leb14/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Leb14/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/B-enguin/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Leb14/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Leb14/ip.git (master) completed! -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepos INFO: [135/480] Analyzing https://github.com/s-kybound/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/s-kybound/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/s-kybound/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/B-enguin/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/B-enguin/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/B-enguin/ip.git (master) completed! -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [136/480] Analyzing https://github.com/yihfei/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/qyaner/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yihfei/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yihfei/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/adammangzijun/ip.git... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/adammangzijun/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hyc17003/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruiyangzh/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andytoh1/ip.git... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andytoh1/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Originalidk/ip.git... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Originalidk/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bombbird2001/ip.git completed! -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/quzhetao01/ip.git... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator analyzeRepos +INFO: [136/480] Analyzing https://github.com/wesho1107/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/s-kybound/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/s-kybound/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wesho1107/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wesho1107/ip.git (master)... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LuoZYi/ip.git completed! +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sushiyade/ip.git... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sushiyade/ip.git to complete... +Sep 02, 2023 2:45:10 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mingyu-wan/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nid21cs/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kiwibang/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/asdfghjkxd/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Nid21cs/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/McNaBry/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/miljyy/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/McNaBry/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/miljyy/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/s-kybound/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/quzhetao01/ip.git to complete... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/s-kybound/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/s-kybound/ip.git (master) completed! -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [137/480] Analyzing https://github.com/wesho1107/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wesho1107/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wesho1107/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yihfei/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yihfei/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yihfei/ip.git (master) completed! -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [138/480] Analyzing https://github.com/AaronJT1/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AaronJT1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AaronJT1/ip.git (master)... -Sep 02, 2023 2:25:44 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/adammangzijun/ip.git completed! -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/InfiBeyond/ip.git... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/InfiBeyond/ip.git to complete... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [137/480] Analyzing https://github.com/yihfei/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wesho1107/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yihfei/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yihfei/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wesho1107/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wesho1107/ip.git (master) completed! -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [138/480] Analyzing https://github.com/AaronJT1/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AaronJT1/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AaronJT1/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sushiyade/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ncduy0303/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ncduy0303/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nid21cs/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/eyelessrhyme7/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/eyelessrhyme7/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/miljyy/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruishanteo/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruishanteo/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/McNaBry/ip.git completed! +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/m1oojv/ip.git... +Sep 02, 2023 2:45:11 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/m1oojv/ip.git to complete... +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yihfei/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AaronJT1/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [139/480] Analyzing https://github.com/dlathyun/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yihfei/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yihfei/ip.git (master) completed! +Sep 02, 2023 2:45:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AaronJT1/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AaronJT1/ip.git (master) completed! +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [139/480] Analyzing https://github.com/dlathyun/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator analyzeRepos +INFO: [140/480] Analyzing https://github.com/ricketytoc/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ricketytoc/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ricketytoc/ip.git (master)... +Sep 02, 2023 2:45:11 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dlathyun/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dlathyun/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AaronJT1/ip.git (master) completed! -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [140/480] Analyzing https://github.com/Angelyxx/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Angelyxx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Angelyxx/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andytoh1/ip.git completed! -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Originalidk/ip.git completed! -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bearypop/ip.git... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/quzhetao01/ip.git completed! -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bearypop/ip.git to complete... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sp4ce-cowboy/ip.git... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JasonLCY-Temp/ip.git... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JasonLCY-Temp/ip.git to complete... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sp4ce-cowboy/ip.git to complete... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/InfiBeyond/ip.git completed! -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wjayee/ip.git... -Sep 02, 2023 2:25:45 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wjayee/ip.git to complete... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dlathyun/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ncduy0303/ip.git completed! +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ricketytoc/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dlathyun/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dlathyun/ip.git (master) completed! -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [141/480] Analyzing https://github.com/ricketytoc/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ricketytoc/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ricketytoc/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Angelyxx/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Angelyxx/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Angelyxx/ip.git (master) completed! -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nixx162/ip.git... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Nixx162/ip.git to complete... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [141/480] Analyzing https://github.com/Angelyxx/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ricketytoc/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Angelyxx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Angelyxx/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ricketytoc/ip.git (master) completed! +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepos INFO: [142/480] Analyzing https://github.com/jingting1412/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jingting1412/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jingting1412/ip.git (master)... -Sep 02, 2023 2:25:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ricketytoc/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JasonLCY-Temp/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ricketytoc/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ricketytoc/ip.git (master) completed! -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [143/480] Analyzing https://github.com/SinhaVedant/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/vivienherq/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/vivienherq/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sp4ce-cowboy/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bearypop/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jamesebond/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jonyeokj/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/SinhaVedant/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/SinhaVedant/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jamesebond/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jonyeokj/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wjayee/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/victorlaiyeeteng/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/victorlaiyeeteng/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/eyelessrhyme7/ip.git completed! +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/m1oojv/ip.git completed! +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruishanteo/ip.git completed! +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Gabriel4357/ip.git... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Gabriel4357/ip.git to complete... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mfjkri/ip.git... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/junhonglow/ip.git... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mfjkri/ip.git to complete... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/junhonglow/ip.git to complete... +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jingting1412/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/SinhaVedant/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jingting1412/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/SinhaVedant/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/SinhaVedant/ip.git (master) completed! -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jingting1412/ip.git (master) completed! -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [143/480] Analyzing https://github.com/SinhaVedant/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/SinhaVedant/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/SinhaVedant/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Angelyxx/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Angelyxx/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Angelyxx/ip.git (master) completed! +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepos INFO: [144/480] Analyzing https://github.com/freddychenyouren2/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [145/480] Analyzing https://github.com/jordankanghm/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/freddychenyouren2/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/freddychenyouren2/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jordankanghm/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jordankanghm/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vivienherq/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lyuanww/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lyuanww/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jamesebond/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/freddychenyouren2/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yongning0310/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jonyeokj/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yongning0310/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cloud7050/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cloud7050/ip.git to complete... -Sep 02, 2023 2:25:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/freddychenyouren2/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/freddychenyouren2/ip.git (master) completed! -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator analyzeRepos -INFO: [146/480] Analyzing https://github.com/adhigop13/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/SinhaVedant/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/SinhaVedant/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/SinhaVedant/ip.git (master) completed! +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator analyzeRepos +INFO: [145/480] Analyzing https://github.com/adhigop13/ip.git (master)... +Sep 02, 2023 2:45:12 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/adhigop13/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/adhigop13/ip.git (master)... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/victorlaiyeeteng/ip.git completed! -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LoMaply/ip.git... -Sep 02, 2023 2:25:46 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LoMaply/ip.git to complete... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nixx162/ip.git completed! +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RoeReRe/ip.git... +Sep 02, 2023 2:45:12 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/RoeReRe/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/adhigop13/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Gabriel4357/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mfjkri/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/junhonglow/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Badatprogrammiing/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nknguyenhc/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/winson8222/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Badatprogrammiing/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/winson8222/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nknguyenhc/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/adhigop13/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jordankanghm/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/adhigop13/ip.git (master) completed! -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [147/480] Analyzing https://github.com/jingyu987/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jingyu987/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jingyu987/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jordankanghm/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jordankanghm/ip.git (master) completed! -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [146/480] Analyzing https://github.com/jordankanghm/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/freddychenyouren2/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jordankanghm/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jordankanghm/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/freddychenyouren2/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/freddychenyouren2/ip.git (master) completed! +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [147/480] Analyzing https://github.com/raydenlim/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/raydenlim/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/raydenlim/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/raydenlim/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/raydenlim/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/raydenlim/ip.git (master) completed! +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepos INFO: [148/480] Analyzing https://github.com/waseemingly/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RoeReRe/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wujy28/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wujy28/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/waseemingly/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/waseemingly/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lyuanww/ip.git completed! -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tllshan/ip.git... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tllshan/ip.git to complete... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yongning0310/ip.git completed! -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Gavino3o/ip.git... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Gavino3o/ip.git to complete... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cloud7050/ip.git completed! -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/HollaG/ip.git... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/HollaG/ip.git to complete... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LoMaply/ip.git completed! -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cheeggered/ip.git... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cheeggered/ip.git to complete... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jingyu987/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jingyu987/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jingyu987/ip.git (master) completed! -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [149/480] Analyzing https://github.com/FerdiHS/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Badatprogrammiing/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SimWPEric/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SimWPEric/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nknguyenhc/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/winson8222/ip.git completed! +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HugeNoob/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lerxuann/ip.git... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HugeNoob/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lerxuann/ip.git to complete... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jordankanghm/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jordankanghm/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jordankanghm/ip.git (master) completed! +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator analyzeRepos +INFO: [149/480] Analyzing https://github.com/jingyu987/ip.git (master)... +Sep 02, 2023 2:45:13 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jingyu987/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jingyu987/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/waseemingly/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/FerdiHS/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/FerdiHS/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/waseemingly/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/waseemingly/ip.git (master) completed! -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator analyzeRepos -INFO: [150/480] Analyzing https://github.com/raydenlim/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/raydenlim/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/raydenlim/ip.git (master)... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tllshan/ip.git completed! -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xenosf/ip.git... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xenosf/ip.git to complete... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Gavino3o/ip.git completed! -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TehOPanas/ip.git... -Sep 02, 2023 2:25:47 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TehOPanas/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/HollaG/ip.git completed! -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/neyapraveen/ip.git... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/neyapraveen/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cheeggered/ip.git completed! -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/richiehx/ip.git... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/richiehx/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [150/480] Analyzing https://github.com/FerdiHS/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/FerdiHS/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/FerdiHS/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wujy28/ip.git completed! +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Weiennn/ip.git... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Weiennn/ip.git to complete... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jingyu987/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jingyu987/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jingyu987/ip.git (master) completed! +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [151/480] Analyzing https://github.com/RiyaMehta2211/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/FerdiHS/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/RiyaMehta2211/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/RiyaMehta2211/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SimWPEric/ip.git completed! +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/FerdiHS/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/FerdiHS/ip.git (master) completed! -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [151/480] Analyzing https://github.com/jrchoo/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [152/480] Analyzing https://github.com/jrchoo/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/maj0-0/ip.git... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HugeNoob/ip.git completed! +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/maj0-0/ip.git to complete... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lerxuann/ip.git completed! +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jrchoo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/qyaner/ip.git... +Sep 02, 2023 2:45:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jrchoo/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/raydenlim/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/raydenlim/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/raydenlim/ip.git (master) completed! -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [152/480] Analyzing https://github.com/leezhanpeng/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/qyaner/ip.git to complete... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruiyangzh/ip.git... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruiyangzh/ip.git to complete... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RiyaMehta2211/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jrchoo/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/leezhanpeng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/leezhanpeng/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jrchoo/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jrchoo/ip.git (master) completed! -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [153/480] Analyzing https://github.com/RiyaMehta2211/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/RiyaMehta2211/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/RiyaMehta2211/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RiyaMehta2211/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [153/480] Analyzing https://github.com/juzzztinsoong/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RiyaMehta2211/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xenosf/ip.git completed! -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RiyaMehta2211/ip.git (master) completed! -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [154/480] Analyzing https://github.com/juzzztinsoong/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlyssaPng/ip.git... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlyssaPng/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator analyzeRepos +INFO: [154/480] Analyzing https://github.com/leezhanpeng/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/juzzztinsoong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/juzzztinsoong/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TehOPanas/ip.git completed! -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/neyapraveen/ip.git completed! -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leezhengjing/ip.git... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seantehds/ip.git... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/richiehx/ip.git completed! -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/leezhengjing/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ceilingFan456/ip.git... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seantehds/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ceilingFan456/ip.git to complete... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:14 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/leezhanpeng/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/leezhanpeng/ip.git (master)... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Weiennn/ip.git completed! +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bombbird2001/ip.git... +Sep 02, 2023 2:45:14 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bombbird2001/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/qyaner/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/hyc17003/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hyc17003/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruiyangzh/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/maj0-0/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/adammangzijun/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/adammangzijun/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andytoh1/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andytoh1/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/juzzztinsoong/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/leezhanpeng/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/juzzztinsoong/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/juzzztinsoong/ip.git (master) completed! +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [155/480] Analyzing https://github.com/darrentfy/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/leezhanpeng/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/leezhanpeng/ip.git (master) completed! -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator analyzeRepos -INFO: [155/480] Analyzing https://github.com/redtailedfox/ip.git (master)... -Sep 02, 2023 2:25:48 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [156/480] Analyzing https://github.com/redtailedfox/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/darrentfy/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/darrentfy/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/redtailedfox/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/redtailedfox/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/redtailedfox/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/redtailedfox/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/redtailedfox/ip.git (master) completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [156/480] Analyzing https://github.com/Fallman2/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Fallman2/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Fallman2/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/juzzztinsoong/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/juzzztinsoong/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/juzzztinsoong/ip.git (master) completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [157/480] Analyzing https://github.com/darrentfy/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlyssaPng/ip.git completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/darrentfy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/darrentfy/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lihongguang00/ip.git... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lihongguang00/ip.git to complete... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leezhengjing/ip.git completed! -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Singa-pirate/ip.git... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seantehds/ip.git completed! -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ceilingFan456/ip.git completed! -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Singa-pirate/ip.git to complete... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/songfangyl/ip.git... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/vansh284/ip.git... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/vansh284/ip.git to complete... -Sep 02, 2023 2:25:49 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/songfangyl/ip.git to complete... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Fallman2/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Fallman2/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Fallman2/ip.git (master) completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [158/480] Analyzing https://github.com/Heran9/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Heran9/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Heran9/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [157/480] Analyzing https://github.com/VN-Hao/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/VN-Hao/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/VN-Hao/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/darrentfy/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Heran9/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/darrentfy/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Heran9/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/darrentfy/ip.git (master) completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Heran9/ip.git (master) completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [159/480] Analyzing https://github.com/VN-Hao/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [160/480] Analyzing https://github.com/jingjie88/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/VN-Hao/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/VN-Hao/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jingjie88/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jingjie88/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [158/480] Analyzing https://github.com/Heran9/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bombbird2001/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Originalidk/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Originalidk/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Heran9/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Heran9/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/VN-Hao/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/VN-Hao/ip.git (master)... -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/VN-Hao/ip.git (master) completed! -Sep 02, 2023 2:25:49 PM reposense.report.ReportGenerator analyzeRepos -INFO: [161/480] Analyzing https://github.com/H1410101/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lihongguang00/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator analyzeRepos +INFO: [159/480] Analyzing https://github.com/jingjie88/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jingjie88/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jingjie88/ip.git (master)... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andytoh1/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hyc17003/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/adammangzijun/ip.git completed! +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/quzhetao01/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/InfiBeyond/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bearypop/ip.git... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bearypop/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/InfiBeyond/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/quzhetao01/ip.git to complete... +Sep 02, 2023 2:45:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Heran9/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Heran9/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Heran9/ip.git (master) completed! +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [160/480] Analyzing https://github.com/Fallman2/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Fallman2/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Fallman2/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jingjie88/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jingjie88/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jingjie88/ip.git (master) completed! +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [161/480] Analyzing https://github.com/kimshitong/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kimshitong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kimshitong/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Originalidk/ip.git completed! +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sp4ce-cowboy/ip.git... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sp4ce-cowboy/ip.git to complete... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Fallman2/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Fallman2/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Fallman2/ip.git (master) completed! +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [162/480] Analyzing https://github.com/H1410101/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/H1410101/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/H1410101/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/YeoBohShin/ip.git... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/YeoBohShin/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/vansh284/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shuenj/ip.git... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shuenj/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/songfangyl/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Singa-pirate/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lunaroddity/ip.git... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andrechuakj/ip.git... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lunaroddity/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andrechuakj/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/H1410101/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bearypop/ip.git completed! +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/H1410101/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/H1410101/ip.git (master) completed! -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [162/480] Analyzing https://github.com/kimshitong/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jingjie88/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kimshitong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kimshitong/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jingjie88/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jingjie88/ip.git (master) completed! -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [163/480] Analyzing https://github.com/ivanleekk/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [163/480] Analyzing https://github.com/lamchenghou/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JasonLCY-Temp/ip.git... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JasonLCY-Temp/ip.git to complete... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/quzhetao01/ip.git completed! +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/InfiBeyond/ip.git completed! +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wjayee/ip.git... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/vivienherq/ip.git... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wjayee/ip.git to complete... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lamchenghou/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lamchenghou/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/vivienherq/ip.git to complete... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kimshitong/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kimshitong/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kimshitong/ip.git (master) completed! +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [164/480] Analyzing https://github.com/ivanleekk/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ivanleekk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ivanleekk/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sp4ce-cowboy/ip.git completed! +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jamesebond/ip.git... +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jamesebond/ip.git to complete... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ivanleekk/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ivanleekk/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ivanleekk/ip.git (master) completed! -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [164/480] Analyzing https://github.com/tayruxin/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/YeoBohShin/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shuenj/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [165/480] Analyzing https://github.com/tayruxin/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lamchenghou/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lamchenghou/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lamchenghou/ip.git (master) completed! +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator analyzeRepos +INFO: [166/480] Analyzing https://github.com/raynertjx/ip.git (master)... +Sep 02, 2023 2:45:16 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tayruxin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WeeMingQing/ip.git... -Sep 02, 2023 2:25:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tayruxin/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andrechuakj/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/aliciamichellew/ip.git... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WeeMingQing/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aliciamichellew/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/samuelmui8/ip.git... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kimshitong/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lunaroddity/ip.git completed! -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/samuelmui8/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/antonTan96/ip.git... -Sep 02, 2023 2:25:50 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/antonTan96/ip.git to complete... -Sep 02, 2023 2:25:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kimshitong/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kimshitong/ip.git (master) completed! -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator analyzeRepos -INFO: [165/480] Analyzing https://github.com/lamchenghou/ip.git (master)... -Sep 02, 2023 2:25:50 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lamchenghou/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lamchenghou/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:16 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JasonLCY-Temp/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jonyeokj/ip.git... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/raynertjx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/raynertjx/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jonyeokj/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vivienherq/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/victorlaiyeeteng/ip.git... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/victorlaiyeeteng/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wjayee/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lyuanww/ip.git... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lyuanww/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tayruxin/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tayruxin/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tayruxin/ip.git (master) completed! -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [166/480] Analyzing https://github.com/raynertjx/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/raynertjx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/raynertjx/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/samuelmui8/ip.git completed! -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lamchenghou/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WeeMingQing/ip.git completed! -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/owenyeo/ip.git... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/antonTan96/ip.git completed! -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/gongg21/ip.git... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lamchenghou/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/owenyeo/ip.git to complete... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/gongg21/ip.git to complete... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lamchenghou/ip.git (master) completed! -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nabonitasen/ip.git... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nabonitasen/ip.git to complete... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [167/480] Analyzing https://github.com/zhengyup/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aliciamichellew/ip.git completed! -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/erohsikivar/ip.git... -Sep 02, 2023 2:25:51 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/erohsikivar/ip.git to complete... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhengyup/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhengyup/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [167/480] Analyzing https://github.com/larrywang0701/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/larrywang0701/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/larrywang0701/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/raynertjx/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jamesebond/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yongning0310/ip.git... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yongning0310/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/raynertjx/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/raynertjx/ip.git (master) completed! -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [168/480] Analyzing https://github.com/larrywang0701/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/larrywang0701/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/larrywang0701/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhengyup/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhengyup/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhengyup/ip.git (master) completed! -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator analyzeRepos -INFO: [169/480] Analyzing https://github.com/wxwern/ip.git (master)... -Sep 02, 2023 2:25:51 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wxwern/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wxwern/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [168/480] Analyzing https://github.com/zhengyup/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhengyup/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhengyup/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jonyeokj/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cloud7050/ip.git... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cloud7050/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/victorlaiyeeteng/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LoMaply/ip.git... +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/larrywang0701/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LoMaply/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lyuanww/ip.git completed! +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/larrywang0701/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/larrywang0701/ip.git (master) completed! -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator analyzeRepos -INFO: [170/480] Analyzing https://github.com/Carlintyj/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/owenyeo/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/pzl111/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tllshan/ip.git... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [169/480] Analyzing https://github.com/Carlintyj/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tllshan/ip.git to complete... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Carlintyj/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Carlintyj/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nabonitasen/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/pzl111/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/gongg21/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/teozern1/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Elijah5399/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/teozern1/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Elijah5399/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/erohsikivar/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicleongyj/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicleongyj/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wxwern/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wxwern/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wxwern/ip.git (master) completed! -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator analyzeRepos -INFO: [171/480] Analyzing https://github.com/nubnubyas/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhengyup/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhengyup/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhengyup/ip.git (master) completed! +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator analyzeRepos +INFO: [170/480] Analyzing https://github.com/wxwern/ip.git (master)... +Sep 02, 2023 2:45:17 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wxwern/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wxwern/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yongning0310/ip.git completed! +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Gavino3o/ip.git... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Gavino3o/ip.git to complete... +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Carlintyj/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nubnubyas/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nubnubyas/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Carlintyj/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Carlintyj/ip.git (master) completed! -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator analyzeRepos -INFO: [172/480] Analyzing https://github.com/aslam341/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aslam341/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aslam341/ip.git (master)... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/pzl111/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/teozern1/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WinSheng1/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WinSheng1/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Elijah5399/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryamgoh/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicleongyj/ip.git completed! -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryamgoh/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yucongkoo/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chen-Kuei/ip.git... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yucongkoo/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chen-Kuei/ip.git to complete... -Sep 02, 2023 2:25:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepos +INFO: [171/480] Analyzing https://github.com/nubnubyas/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nubnubyas/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nubnubyas/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cloud7050/ip.git completed! +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/HollaG/ip.git... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/HollaG/ip.git to complete... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LoMaply/ip.git completed! +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tllshan/ip.git completed! +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cheeggered/ip.git... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xenosf/ip.git... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cheeggered/ip.git to complete... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xenosf/ip.git to complete... +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wxwern/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wxwern/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wxwern/ip.git (master) completed! +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nubnubyas/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepos +INFO: [172/480] Analyzing https://github.com/aslam341/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nubnubyas/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aslam341/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aslam341/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nubnubyas/ip.git (master) completed! -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepos INFO: [173/480] Analyzing https://github.com/LWZ19/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aslam341/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LWZ19/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LWZ19/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Gavino3o/ip.git completed! +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TehOPanas/ip.git... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TehOPanas/ip.git to complete... +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aslam341/ip.git (master)... +Sep 02, 2023 2:45:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/aslam341/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/aslam341/ip.git (master) completed! -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator analyzeRepos INFO: [174/480] Analyzing https://github.com/timleow/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:18 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/timleow/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/timleow/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/timleow/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryamgoh/ip.git completed! -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/timleow/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/timleow/ip.git (master) completed! -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepos -INFO: [175/480] Analyzing https://github.com/aexolate/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/conradsoon/ip.git... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WinSheng1/ip.git completed! -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yucongkoo/ip.git completed! -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chen-Kuei/ip.git completed! -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/GSgiansen/ip.git... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/conradsoon/ip.git to complete... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aexolate/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aexolate/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/GSgiansen/ip.git to complete... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/et-irl/ip.git... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marioalvaro/ip.git... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/et-irl/ip.git to complete... -Sep 02, 2023 2:25:53 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marioalvaro/ip.git to complete... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/HollaG/ip.git completed! +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/neyapraveen/ip.git... +Sep 02, 2023 2:45:18 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/neyapraveen/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xenosf/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cheeggered/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/richiehx/ip.git... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlyssaPng/ip.git... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/richiehx/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlyssaPng/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LWZ19/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LWZ19/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LWZ19/ip.git (master) completed! -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepos -INFO: [176/480] Analyzing https://github.com/rayshawntan/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [175/480] Analyzing https://github.com/rayshawntan/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/rayshawntan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/rayshawntan/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TehOPanas/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leezhengjing/ip.git... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/timleow/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/leezhengjing/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/timleow/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/timleow/ip.git (master) completed! +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [176/480] Analyzing https://github.com/aexolate/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aexolate/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aexolate/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/neyapraveen/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seantehds/ip.git... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seantehds/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/richiehx/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ceilingFan456/ip.git... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlyssaPng/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lihongguang00/ip.git... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ceilingFan456/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lihongguang00/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/aexolate/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/rayshawntan/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/aexolate/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/aexolate/ip.git (master) completed! -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator analyzeRepos -INFO: [177/480] Analyzing https://github.com/Sheeepen/ip.git (master)... -Sep 02, 2023 2:25:53 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Sheeepen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Sheeepen/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marioalvaro/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Seonlo99/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/conradsoon/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Seonlo99/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/et-irl/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/GSgiansen/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/joel-foo/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tim-pipi/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/joel-foo/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marcellaantania/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tim-pipi/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marcellaantania/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/rayshawntan/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Sheeepen/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [177/480] Analyzing https://github.com/shuyangk/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rayshawntan/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rayshawntan/ip.git (master) completed! -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [178/480] Analyzing https://github.com/shuyangk/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Sheeepen/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Sheeepen/ip.git (master) completed! -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [179/480] Analyzing https://github.com/ncmathan/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [178/480] Analyzing https://github.com/ncmathan/ip.git (master)... +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/shuyangk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/shuyangk/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ncmathan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ncmathan/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shuyangk/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ncmathan/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shuyangk/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leezhengjing/ip.git completed! +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Singa-pirate/ip.git... +Sep 02, 2023 2:45:19 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Singa-pirate/ip.git to complete... +Sep 02, 2023 2:45:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ncmathan/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ncmathan/ip.git (master) completed! -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [180/480] Analyzing https://github.com/iyioon/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:19 PM reposense.report.ReportGenerator analyzeRepos +INFO: [179/480] Analyzing https://github.com/Sheeepen/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shuyangk/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Sheeepen/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Sheeepen/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shuyangk/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/shuyangk/ip.git (master) completed! -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator analyzeRepos -INFO: [181/480] Analyzing https://github.com/kiwibang/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepos +INFO: [180/480] Analyzing https://github.com/iyioon/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/iyioon/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/iyioon/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kiwibang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kiwibang/ip.git (master)... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Seonlo99/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brendanneojw/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/joel-foo/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brendanneojw/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/li-rongzhi/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tim-pipi/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marcellaantania/ip.git completed! -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KamiliArsyad/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/li-rongzhi/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/KamiliArsyad/ip.git to complete... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seraphimstreets/ip.git... -Sep 02, 2023 2:25:54 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seraphimstreets/ip.git to complete... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seantehds/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/songfangyl/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/songfangyl/ip.git to complete... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ceilingFan456/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lihongguang00/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/vansh284/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/vansh284/ip.git to complete... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/YeoBohShin/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/YeoBohShin/ip.git to complete... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Sheeepen/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/iyioon/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Sheeepen/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Sheeepen/ip.git (master) completed! +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepos +INFO: [181/480] Analyzing https://github.com/LuoZYi/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LuoZYi/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LuoZYi/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/iyioon/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/iyioon/ip.git (master) completed! -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepos INFO: [182/480] Analyzing https://github.com/mingyu-wan/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kiwibang/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mingyu-wan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mingyu-wan/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kiwibang/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kiwibang/ip.git (master) completed! -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepos -INFO: [183/480] Analyzing https://github.com/LuoZYi/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LuoZYi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LuoZYi/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LuoZYi/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Singa-pirate/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LuoZYi/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shuenj/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LuoZYi/ip.git (master) completed! -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepos -INFO: [184/480] Analyzing https://github.com/asdfghjkxd/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/asdfghjkxd/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/asdfghjkxd/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepos +INFO: [183/480] Analyzing https://github.com/kiwibang/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shuenj/ip.git to complete... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kiwibang/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kiwibang/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mingyu-wan/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mingyu-wan/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mingyu-wan/ip.git (master) completed! -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator analyzeRepos +INFO: [184/480] Analyzing https://github.com/asdfghjkxd/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/asdfghjkxd/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/asdfghjkxd/ip.git (master)... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/songfangyl/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lunaroddity/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lunaroddity/ip.git to complete... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/vansh284/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/YeoBohShin/ip.git completed! +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andrechuakj/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WeeMingQing/ip.git... +Sep 02, 2023 2:45:20 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andrechuakj/ip.git to complete... +Sep 02, 2023 2:45:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kiwibang/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WeeMingQing/ip.git to complete... +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kiwibang/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kiwibang/ip.git (master) completed! +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepos INFO: [185/480] Analyzing https://github.com/sushiyade/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/sushiyade/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/sushiyade/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/li-rongzhi/ip.git completed! -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/trgao/ip.git... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seraphimstreets/ip.git completed! -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lilozz2/ip.git... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/trgao/ip.git to complete... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lilozz2/ip.git to complete... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KamiliArsyad/ip.git completed! -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brendanneojw/ip.git completed! -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jean-cq/ip.git... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jean-cq/ip.git to complete... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jedkohjk/ip.git... -Sep 02, 2023 2:25:55 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jedkohjk/ip.git to complete... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shuenj/ip.git completed! +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/aliciamichellew/ip.git... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aliciamichellew/ip.git to complete... +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sushiyade/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sushiyade/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sushiyade/ip.git (master) completed! -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepos INFO: [186/480] Analyzing https://github.com/Nid21cs/ip.git (master)... -Sep 02, 2023 2:25:55 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Nid21cs/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Nid21cs/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Nid21cs/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/asdfghjkxd/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Nid21cs/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Nid21cs/ip.git (master) completed! -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [187/480] Analyzing https://github.com/McNaBry/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/McNaBry/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/McNaBry/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/asdfghjkxd/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [187/480] Analyzing https://github.com/miljyy/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/asdfghjkxd/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/asdfghjkxd/ip.git (master) completed! -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [188/480] Analyzing https://github.com/ncduy0303/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [188/480] Analyzing https://github.com/McNaBry/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/miljyy/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/miljyy/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lunaroddity/ip.git completed! +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/samuelmui8/ip.git... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/samuelmui8/ip.git to complete... +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/McNaBry/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/McNaBry/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andrechuakj/ip.git completed! +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WeeMingQing/ip.git completed! +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/antonTan96/ip.git... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/owenyeo/ip.git... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/antonTan96/ip.git to complete... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/owenyeo/ip.git to complete... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aliciamichellew/ip.git completed! +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/gongg21/ip.git... +Sep 02, 2023 2:45:21 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/gongg21/ip.git to complete... +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/miljyy/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/miljyy/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/miljyy/ip.git (master) completed! +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator analyzeRepos +INFO: [189/480] Analyzing https://github.com/ncduy0303/ip.git (master)... +Sep 02, 2023 2:45:21 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ncduy0303/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ncduy0303/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/trgao/ip.git completed! -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jean-cq/ip.git completed! -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yytan25/ip.git... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lilozz2/ip.git completed! -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yytan25/ip.git to complete... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ryantzr1/ip.git... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jedkohjk/ip.git completed! -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/maypfv/ip.git... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ryantzr1/ip.git to complete... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TohLiYuan/ip.git... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/maypfv/ip.git to complete... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TohLiYuan/ip.git to complete... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/McNaBry/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/McNaBry/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/McNaBry/ip.git (master) completed! -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepos -INFO: [189/480] Analyzing https://github.com/miljyy/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/miljyy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/miljyy/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ncduy0303/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ncduy0303/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ncduy0303/ip.git (master) completed! -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepos INFO: [190/480] Analyzing https://github.com/eyelessrhyme7/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/eyelessrhyme7/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/eyelessrhyme7/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/miljyy/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/miljyy/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/miljyy/ip.git (master) completed! -Sep 02, 2023 2:25:56 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ncduy0303/ip.git (master)... +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ncduy0303/ip.git (master)... +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ncduy0303/ip.git (master) completed! +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepos INFO: [191/480] Analyzing https://github.com/ruishanteo/ip.git (master)... -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yytan25/ip.git completed! -Sep 02, 2023 2:25:56 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JizhuoChen/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/maypfv/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JizhuoChen/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ChongWeiJie29/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ryantzr1/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/samuelmui8/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/owenyeo/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nabonitasen/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/antonTan96/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ruishanteo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ruishanteo/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TohLiYuan/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChongWeiJie29/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Goh-Li-Ting/ip.git... -Sep 02, 2023 2:25:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/erohsikivar/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/erohsikivar/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/pzl111/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nabonitasen/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/pzl111/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/eyelessrhyme7/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Goh-Li-Ting/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kristayeo/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kristayeo/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/eyelessrhyme7/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/eyelessrhyme7/ip.git (master) completed! -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepos INFO: [192/480] Analyzing https://github.com/m1oojv/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/gongg21/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/teozern1/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/m1oojv/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/m1oojv/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/teozern1/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/m1oojv/ip.git (master)... +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ruishanteo/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/m1oojv/ip.git (master)... +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/m1oojv/ip.git (master) completed! +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepos +INFO: [193/480] Analyzing https://github.com/Nixx162/ip.git (master)... +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ruishanteo/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ruishanteo/ip.git (master) completed! -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator analyzeRepos -INFO: [193/480] Analyzing https://github.com/Nixx162/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/m1oojv/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/m1oojv/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator analyzeRepos +INFO: [194/480] Analyzing https://github.com/Gabriel4357/ip.git (master)... +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Nixx162/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Nixx162/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/m1oojv/ip.git (master) completed! -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator analyzeRepos -INFO: [194/480] Analyzing https://github.com/Gabriel4357/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JizhuoChen/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:22 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Gabriel4357/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Gabriel4357/ip.git (master)... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/derekjxtan/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/derekjxtan/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChongWeiJie29/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kristayeo/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Goh-Li-Ting/ip.git completed! -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shashahchk/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shashahchk/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chandan8186/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alyssaongyx/ip.git... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/alyssaongyx/ip.git to complete... -Sep 02, 2023 2:25:57 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chandan8186/ip.git to complete... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/pzl111/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Elijah5399/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nabonitasen/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/erohsikivar/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Elijah5399/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicleongyj/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicleongyj/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WinSheng1/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/teozern1/ip.git completed! +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryamgoh/ip.git... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WinSheng1/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryamgoh/ip.git to complete... +Sep 02, 2023 2:45:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Nixx162/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Nixx162/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Nixx162/ip.git (master) completed! -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [195/480] Analyzing https://github.com/mfjkri/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/mfjkri/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/mfjkri/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepos +INFO: [195/480] Analyzing https://github.com/junhonglow/ip.git (master)... +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/junhonglow/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/junhonglow/ip.git (master)... +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Gabriel4357/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Gabriel4357/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Gabriel4357/ip.git (master) completed! -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepos -INFO: [196/480] Analyzing https://github.com/junhonglow/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/junhonglow/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/junhonglow/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/derekjxtan/ip.git completed! -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AndrewJanong/ip.git... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AndrewJanong/ip.git to complete... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alyssaongyx/ip.git completed! -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chandan8186/ip.git completed! -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepos +INFO: [196/480] Analyzing https://github.com/mfjkri/ip.git (master)... +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/mfjkri/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/mfjkri/ip.git (master)... +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/junhonglow/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kailash201/ip.git... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kailash201/ip.git to complete... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/laurenlim2112/ip.git... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shashahchk/ip.git completed! -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/laurenlim2112/ip.git to complete... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/junhonglow/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/junhonglow/ip.git (master) completed! -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lambraydon/ip.git... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepos INFO: [197/480] Analyzing https://github.com/RoeReRe/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lambraydon/ip.git to complete... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/RoeReRe/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/RoeReRe/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryamgoh/ip.git completed! +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicleongyj/ip.git completed! +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WinSheng1/ip.git completed! +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yucongkoo/ip.git... +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yucongkoo/ip.git to complete... +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Elijah5399/ip.git completed! +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chen-Kuei/ip.git... +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/conradsoon/ip.git... +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/GSgiansen/ip.git... +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mfjkri/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/conradsoon/ip.git to complete... +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chen-Kuei/ip.git to complete... +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/RoeReRe/ip.git (master)... +Sep 02, 2023 2:45:23 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/GSgiansen/ip.git to complete... +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mfjkri/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mfjkri/ip.git (master) completed! -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepos INFO: [198/480] Analyzing https://github.com/Badatprogrammiing/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Badatprogrammiing/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Badatprogrammiing/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/RoeReRe/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RoeReRe/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RoeReRe/ip.git (master) completed! -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator analyzeRepos INFO: [199/480] Analyzing https://github.com/nknguyenhc/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Badatprogrammiing/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Badatprogrammiing/ip.git (master)... +Sep 02, 2023 2:45:23 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nknguyenhc/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nknguyenhc/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Badatprogrammiing/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Badatprogrammiing/ip.git (master)... -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Badatprogrammiing/ip.git (master) completed! -Sep 02, 2023 2:25:58 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [200/480] Analyzing https://github.com/winson8222/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/winson8222/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/winson8222/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AndrewJanong/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sk2001git/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sk2001git/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/laurenlim2112/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kailash201/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chonguschonguschongus/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lambraydon/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chonguschonguschongus/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lshaoqin/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/peasantbird/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/peasantbird/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lshaoqin/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nknguyenhc/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nknguyenhc/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nknguyenhc/ip.git (master) completed! -Sep 02, 2023 2:25:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/winson8222/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [201/480] Analyzing https://github.com/wujy28/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yucongkoo/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chen-Kuei/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/et-irl/ip.git... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/GSgiansen/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/conradsoon/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/et-irl/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marioalvaro/ip.git... +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wujy28/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wujy28/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Seonlo99/ip.git... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/joel-foo/ip.git... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Seonlo99/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marioalvaro/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/joel-foo/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/winson8222/ip.git (master)... +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/winson8222/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/winson8222/ip.git (master) completed! -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [202/480] Analyzing https://github.com/SimWPEric/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SimWPEric/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:25:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SimWPEric/ip.git (master)... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sk2001git/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/peasantbird/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WangCheng0116/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/teozhengyang/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WangCheng0116/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/teozhengyang/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chonguschonguschongus/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lshaoqin/ip.git completed! -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chewjh1234/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chewjh1234/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/elaineshijie/ip.git... -Sep 02, 2023 2:25:59 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/elaineshijie/ip.git to complete... -Sep 02, 2023 2:25:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wujy28/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wujy28/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wujy28/ip.git (master) completed! -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [203/480] Analyzing https://github.com/HugeNoob/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/HugeNoob/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/HugeNoob/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marioalvaro/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SimWPEric/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/joel-foo/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/et-irl/ip.git completed! +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tim-pipi/ip.git... +Sep 02, 2023 2:45:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SimWPEric/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SimWPEric/ip.git (master) completed! -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marcellaantania/ip.git... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tim-pipi/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator analyzeRepos INFO: [204/480] Analyzing https://github.com/lerxuann/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brendanneojw/ip.git... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marcellaantania/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brendanneojw/ip.git to complete... +Sep 02, 2023 2:45:24 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lerxuann/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lerxuann/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/HugeNoob/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WangCheng0116/ip.git completed! -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/teozhengyang/ip.git completed! -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Seonlo99/ip.git completed! +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/li-rongzhi/ip.git... +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/HugeNoob/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/HugeNoob/ip.git (master) completed! -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/li-rongzhi/ip.git to complete... +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepos INFO: [205/480] Analyzing https://github.com/Weiennn/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lynnlow175/ip.git... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lordidiot/ip.git... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chewjh1234/ip.git completed! -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/elaineshijie/ip.git completed! -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/chew01/ip.git... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lordidiot/ip.git to complete... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/RSXIX/ip.git... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lynnlow175/ip.git to complete... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/RSXIX/ip.git to complete... -Sep 02, 2023 2:26:00 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/chew01/ip.git to complete... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Weiennn/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Weiennn/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lerxuann/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lerxuann/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lerxuann/ip.git (master) completed! -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepos -INFO: [206/480] Analyzing https://github.com/maj0-0/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/maj0-0/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/maj0-0/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/maj0-0/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Weiennn/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/maj0-0/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/maj0-0/ip.git (master) completed! -Sep 02, 2023 2:26:00 PM reposense.report.ReportGenerator analyzeRepos -INFO: [207/480] Analyzing https://github.com/qyaner/ip.git (master)... -Sep 02, 2023 2:26:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Weiennn/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [206/480] Analyzing https://github.com/qyaner/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/qyaner/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/qyaner/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Weiennn/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Weiennn/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Weiennn/ip.git (master) completed! -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [208/480] Analyzing https://github.com/ruiyangzh/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [207/480] Analyzing https://github.com/ruiyangzh/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ruiyangzh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ruiyangzh/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/RSXIX/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lynnlow175/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lordidiot/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/juliusgambe/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhonghan721/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WZWren/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/chew01/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WZWren/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhonghan721/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/juliusgambe/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/inezkok/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/inezkok/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brendanneojw/ip.git completed! +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tim-pipi/ip.git completed! +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KamiliArsyad/ip.git... +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marcellaantania/ip.git completed! +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/li-rongzhi/ip.git completed! +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seraphimstreets/ip.git... +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/KamiliArsyad/ip.git to complete... +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/trgao/ip.git... +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seraphimstreets/ip.git to complete... +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lilozz2/ip.git... +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/qyaner/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lilozz2/ip.git to complete... +Sep 02, 2023 2:45:25 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/trgao/ip.git to complete... +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/qyaner/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/qyaner/ip.git (master) completed! -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [209/480] Analyzing https://github.com/hyc17003/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/hyc17003/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/hyc17003/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [208/480] Analyzing https://github.com/maj0-0/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/maj0-0/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/maj0-0/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/maj0-0/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/maj0-0/ip.git (master)... +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/maj0-0/ip.git (master) completed! +Sep 02, 2023 2:45:25 PM reposense.report.ReportGenerator analyzeRepos +INFO: [209/480] Analyzing https://github.com/Bombbird2001/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bombbird2001/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bombbird2001/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ruiyangzh/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ruiyangzh/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ruiyangzh/ip.git (master) completed! -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [210/480] Analyzing https://github.com/Bombbird2001/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bombbird2001/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bombbird2001/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/hyc17003/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/hyc17003/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/hyc17003/ip.git (master) completed! -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [210/480] Analyzing https://github.com/andytoh1/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/andytoh1/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/andytoh1/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/andytoh1/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/andytoh1/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/andytoh1/ip.git (master) completed! +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos INFO: [211/480] Analyzing https://github.com/adammangzijun/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/adammangzijun/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/adammangzijun/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KamiliArsyad/ip.git completed! +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jean-cq/ip.git... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jean-cq/ip.git to complete... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seraphimstreets/ip.git completed! +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jedkohjk/ip.git... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jedkohjk/ip.git to complete... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/adammangzijun/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/adammangzijun/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/adammangzijun/ip.git (master) completed! -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [212/480] Analyzing https://github.com/andytoh1/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/andytoh1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/andytoh1/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/inezkok/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/juliusgambe/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wasjoe1/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kokrui/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhonghan721/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WZWren/ip.git completed! -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kokrui/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wasjoe1/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/andytoh1/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jinyang628/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nananakx-x/ip.git... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nananakx-x/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jinyang628/ip.git to complete... -Sep 02, 2023 2:26:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/andytoh1/ip.git (master)... -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/andytoh1/ip.git (master) completed! -Sep 02, 2023 2:26:01 PM reposense.report.ReportGenerator analyzeRepos -INFO: [213/480] Analyzing https://github.com/Originalidk/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Originalidk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Originalidk/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [212/480] Analyzing https://github.com/hyc17003/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/trgao/ip.git completed! +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lilozz2/ip.git completed! +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yytan25/ip.git... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ryantzr1/ip.git... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yytan25/ip.git to complete... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/hyc17003/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/hyc17003/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ryantzr1/ip.git to complete... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Bombbird2001/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Bombbird2001/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Bombbird2001/ip.git (master) completed! -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [214/480] Analyzing https://github.com/quzhetao01/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/quzhetao01/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/quzhetao01/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [213/480] Analyzing https://github.com/Originalidk/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Originalidk/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Originalidk/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/hyc17003/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/hyc17003/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/hyc17003/ip.git (master) completed! +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [214/480] Analyzing https://github.com/Bearypop/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Bearypop/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Bearypop/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Originalidk/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Originalidk/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Originalidk/ip.git (master) completed! -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [215/480] Analyzing https://github.com/InfiBeyond/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [215/480] Analyzing https://github.com/quzhetao01/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/quzhetao01/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/quzhetao01/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Bearypop/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Bearypop/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Bearypop/ip.git (master) completed! +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator analyzeRepos +INFO: [216/480] Analyzing https://github.com/InfiBeyond/ip.git (master)... +Sep 02, 2023 2:45:26 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/InfiBeyond/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/InfiBeyond/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jean-cq/ip.git completed! +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/maypfv/ip.git... +Sep 02, 2023 2:45:26 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/maypfv/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jedkohjk/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TohLiYuan/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yytan25/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ryantzr1/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TohLiYuan/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JizhuoChen/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ChongWeiJie29/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JizhuoChen/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChongWeiJie29/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/InfiBeyond/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/InfiBeyond/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/InfiBeyond/ip.git (master) completed! -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/quzhetao01/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [216/480] Analyzing https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/quzhetao01/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/quzhetao01/ip.git (master) completed! -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepos INFO: [217/480] Analyzing https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JasonLCY-Temp/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/sp4ce-cowboy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jinyang628/ip.git completed! -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nananakx-x/ip.git completed! -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wasjoe1/ip.git completed! -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kokrui/ip.git completed! -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ylyma/ip.git... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AnnabelTing/ip.git... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ylyma/ip.git to complete... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/timetraveller-123/ip.git... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LicongHuang/ip.git... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/timetraveller-123/ip.git to complete... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AnnabelTing/ip.git to complete... -Sep 02, 2023 2:26:02 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LicongHuang/ip.git to complete... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/quzhetao01/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sp4ce-cowboy/ip.git (master)... -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sp4ce-cowboy/ip.git (master) completed! -Sep 02, 2023 2:26:02 PM reposense.report.ReportGenerator analyzeRepos -INFO: [218/480] Analyzing https://github.com/Bearypop/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Bearypop/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Bearypop/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JasonLCY-Temp/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JasonLCY-Temp/ip.git (master) completed! -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [219/480] Analyzing https://github.com/wjayee/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wjayee/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wjayee/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/timetraveller-123/ip.git completed! -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AnnabelTing/ip.git completed! -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LicongHuang/ip.git completed! -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jweng88/ip.git... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ylyma/ip.git completed! -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Jweng88/ip.git to complete... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/EricXiong420/ip.git... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jovkusuma/ip.git... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/EricXiong420/ip.git to complete... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bhnuka/ip.git... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jovkusuma/ip.git to complete... -Sep 02, 2023 2:26:03 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bhnuka/ip.git to complete... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Bearypop/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Bearypop/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Bearypop/ip.git (master) completed! -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [220/480] Analyzing https://github.com/vivienherq/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [218/480] Analyzing https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/quzhetao01/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/quzhetao01/ip.git (master) completed! +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [219/480] Analyzing https://github.com/vivienherq/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JasonLCY-Temp/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/vivienherq/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/vivienherq/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wjayee/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wjayee/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wjayee/ip.git (master) completed! -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [221/480] Analyzing https://github.com/jamesebond/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/vivienherq/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jamesebond/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/vivienherq/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jamesebond/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/vivienherq/ip.git (master) completed! -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepos -INFO: [222/480] Analyzing https://github.com/jonyeokj/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jonyeokj/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jonyeokj/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [220/480] Analyzing https://github.com/wjayee/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wjayee/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wjayee/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JasonLCY-Temp/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JasonLCY-Temp/ip.git (master) completed! +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator analyzeRepos +INFO: [221/480] Analyzing https://github.com/jamesebond/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TohLiYuan/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/maypfv/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jamesebond/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jamesebond/ip.git (master)... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JizhuoChen/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Goh-Li-Ting/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChongWeiJie29/ip.git completed! +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kristayeo/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Goh-Li-Ting/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/derekjxtan/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shashahchk/ip.git... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/derekjxtan/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kristayeo/ip.git to complete... +Sep 02, 2023 2:45:27 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shashahchk/ip.git to complete... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jamesebond/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wjayee/ip.git (master)... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jamesebond/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jonyeokj/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jamesebond/ip.git (master) completed! -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [222/480] Analyzing https://github.com/jonyeokj/ip.git (master)... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wjayee/ip.git (master)... +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wjayee/ip.git (master) completed! +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [223/480] Analyzing https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jonyeokj/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jonyeokj/ip.git (master)... +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/victorlaiyeeteng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kristayeo/ip.git completed! +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chandan8186/ip.git... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jonyeokj/ip.git (master)... +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chandan8186/ip.git to complete... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jonyeokj/ip.git (master)... -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jonyeokj/ip.git (master) completed! -Sep 02, 2023 2:26:03 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [224/480] Analyzing https://github.com/lyuanww/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/derekjxtan/ip.git completed! +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alyssaongyx/ip.git... +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shashahchk/ip.git completed! +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Goh-Li-Ting/ip.git completed! +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/alyssaongyx/ip.git to complete... +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lyuanww/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lyuanww/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Jweng88/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/EricXiong420/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bhnuka/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/J-hta-n/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Tim-Siu/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jovkusuma/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/J-hta-n/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yarnmengnus/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yarnmengnus/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sopa301/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Tim-Siu/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sopa301/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AndrewJanong/ip.git... +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kailash201/ip.git... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kailash201/ip.git to complete... +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AndrewJanong/ip.git to complete... +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/victorlaiyeeteng/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/victorlaiyeeteng/ip.git (master) completed! -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [225/480] Analyzing https://github.com/yongning0310/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yongning0310/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yongning0310/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lyuanww/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lyuanww/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lyuanww/ip.git (master) completed! -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepos INFO: [226/480] Analyzing https://github.com/Cloud7050/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Cloud7050/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Cloud7050/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Cloud7050/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Cloud7050/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Cloud7050/ip.git (master) completed! -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepos -INFO: [227/480] Analyzing https://github.com/LoMaply/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/LoMaply/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/LoMaply/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Tim-Siu/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/J-hta-n/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ngeeyonglim/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/flexibo/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ngeeyonglim/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/flexibo/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sopa301/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ItsTYtan/ip.git... -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yongning0310/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ItsTYtan/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yarnmengnus/ip.git completed! -Sep 02, 2023 2:26:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yongning0310/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yongning0310/ip.git (master) completed! -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator analyzeRepos +INFO: [227/480] Analyzing https://github.com/LoMaply/ip.git (master)... +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chandan8186/ip.git completed! +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/laurenlim2112/ip.git... +Sep 02, 2023 2:45:28 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/laurenlim2112/ip.git to complete... +Sep 02, 2023 2:45:28 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/LoMaply/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/LoMaply/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kailash201/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alyssaongyx/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Cloud7050/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AndrewJanong/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lambraydon/ip.git... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sk2001git/ip.git... +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Cloud7050/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Cloud7050/ip.git (master) completed! +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [228/480] Analyzing https://github.com/tllshan/ip.git (master)... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/javinchua/ip.git... -Sep 02, 2023 2:26:04 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/javinchua/ip.git to complete... -Sep 02, 2023 2:26:04 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chonguschonguschongus/ip.git... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lambraydon/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sk2001git/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tllshan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tllshan/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chonguschonguschongus/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LoMaply/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LoMaply/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LoMaply/ip.git (master) completed! -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [229/480] Analyzing https://github.com/Gavino3o/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Gavino3o/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Gavino3o/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tllshan/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tllshan/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tllshan/ip.git (master) completed! -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepos INFO: [230/480] Analyzing https://github.com/HollaG/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Gavino3o/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Gavino3o/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/HollaG/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/HollaG/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ngeeyonglim/ip.git completed! -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/amosting/ip.git... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/amosting/ip.git to complete... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ItsTYtan/ip.git completed! -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cleon2/ip.git... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/flexibo/ip.git completed! -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/javinchua/ip.git completed! -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ketweeen/ip.git... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cleon2/ip.git to complete... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ketweeen/ip.git to complete... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/laurenlim2112/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lshaoqin/ip.git... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lshaoqin/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lambraydon/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/peasantbird/ip.git... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sk2001git/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/peasantbird/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WangCheng0116/ip.git... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chonguschonguschongus/ip.git completed! +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WangCheng0116/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/teozhengyang/ip.git... +Sep 02, 2023 2:45:29 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/teozhengyang/ip.git to complete... +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/HollaG/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sudarshan2401/ip.git... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Gavino3o/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sudarshan2401/ip.git to complete... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/HollaG/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/HollaG/ip.git (master) completed! -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [231/480] Analyzing https://github.com/xenosf/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/xenosf/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/xenosf/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Gavino3o/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Gavino3o/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [231/480] Analyzing https://github.com/cheeggered/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Gavino3o/ip.git (master) completed! -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [232/480] Analyzing https://github.com/xenosf/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator analyzeRepos +INFO: [232/480] Analyzing https://github.com/cheeggered/ip.git (master)... +Sep 02, 2023 2:45:29 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cheeggered/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cheeggered/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/xenosf/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/xenosf/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xenosf/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cheeggered/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xenosf/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cheeggered/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xenosf/ip.git (master) completed! -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [233/480] Analyzing https://github.com/neyapraveen/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [233/480] Analyzing https://github.com/TehOPanas/ip.git (master)... +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TehOPanas/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TehOPanas/ip.git (master)... +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cheeggered/ip.git (master)... +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cheeggered/ip.git (master)... +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cheeggered/ip.git (master) completed! -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator analyzeRepos -INFO: [234/480] Analyzing https://github.com/TehOPanas/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [234/480] Analyzing https://github.com/neyapraveen/ip.git (master)... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lshaoqin/ip.git completed! +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/neyapraveen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/neyapraveen/ip.git (master)... -Sep 02, 2023 2:26:05 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TehOPanas/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TehOPanas/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/amosting/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wui-hong/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wui-hong/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ketweeen/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Respirayson/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cleon2/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Respirayson/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Chrainx/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Chrainx/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sudarshan2401/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chewjh1234/ip.git... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chewjh1234/ip.git to complete... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WangCheng0116/ip.git completed! +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/peasantbird/ip.git completed! +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/elaineshijie/ip.git... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/elaineshijie/ip.git to complete... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/teozhengyang/ip.git completed! +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lynnlow175/ip.git... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lynnlow175/ip.git to complete... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lordidiot/ip.git... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lordidiot/ip.git to complete... +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/neyapraveen/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/shishirbychapur/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/shishirbychapur/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/neyapraveen/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/neyapraveen/ip.git (master) completed! -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [235/480] Analyzing https://github.com/richiehx/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/richiehx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/richiehx/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TehOPanas/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TehOPanas/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TehOPanas/ip.git (master) completed! -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [236/480] Analyzing https://github.com/AlyssaPng/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AlyssaPng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AlyssaPng/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/richiehx/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/richiehx/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/richiehx/ip.git (master) completed! -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepos INFO: [237/480] Analyzing https://github.com/leezhengjing/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leezhengjing/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leezhengjing/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wui-hong/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/sunzihan23/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/sunzihan23/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Respirayson/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wj331/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wj331/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Chrainx/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tjch-o/ip.git... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tjch-o/ip.git to complete... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chewjh1234/ip.git completed! +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/chew01/ip.git... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/chew01/ip.git to complete... +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlyssaPng/ip.git (master)... -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/shishirbychapur/ip.git completed! -Sep 02, 2023 2:26:06 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/licongshen12/ip.git... -Sep 02, 2023 2:26:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/elaineshijie/ip.git completed! +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/RSXIX/ip.git... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/RSXIX/ip.git to complete... +Sep 02, 2023 2:45:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlyssaPng/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlyssaPng/ip.git (master) completed! -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [238/480] Analyzing https://github.com/ceilingFan456/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/licongshen12/ip.git to complete... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ceilingFan456/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ceilingFan456/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:30 PM reposense.report.ReportGenerator analyzeRepos +INFO: [238/480] Analyzing https://github.com/seantehds/ip.git (master)... +Sep 02, 2023 2:45:30 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lynnlow175/ip.git completed! +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/juliusgambe/ip.git... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/juliusgambe/ip.git to complete... +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/seantehds/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/seantehds/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lordidiot/ip.git completed! +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhonghan721/ip.git... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhonghan721/ip.git to complete... +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/leezhengjing/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/leezhengjing/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/leezhengjing/ip.git (master) completed! -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [239/480] Analyzing https://github.com/seantehds/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/seantehds/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/seantehds/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [239/480] Analyzing https://github.com/ceilingFan456/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ceilingFan456/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ceilingFan456/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ceilingFan456/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ceilingFan456/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ceilingFan456/ip.git (master) completed! -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepos INFO: [240/480] Analyzing https://github.com/lihongguang00/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lihongguang00/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lihongguang00/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/sunzihan23/ip.git completed! -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mamayuan/ip.git... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mamayuan/ip.git to complete... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lihongguang00/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lihongguang00/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lihongguang00/ip.git (master) completed! -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [241/480] Analyzing https://github.com/vansh284/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wj331/ip.git completed! -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ong-wei-hong/ip.git... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ong-wei-hong/ip.git to complete... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/vansh284/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/vansh284/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tjch-o/ip.git completed! -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tanboonkhong/ip.git... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tanboonkhong/ip.git to complete... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/licongshen12/ip.git completed! -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cbj252/ip.git... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cbj252/ip.git to complete... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/seantehds/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lihongguang00/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/seantehds/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/seantehds/ip.git (master) completed! -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator analyzeRepos -INFO: [242/480] Analyzing https://github.com/Singa-pirate/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [241/480] Analyzing https://github.com/Singa-pirate/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lihongguang00/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lihongguang00/ip.git (master) completed! +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [242/480] Analyzing https://github.com/songfangyl/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Singa-pirate/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Singa-pirate/ip.git (master)... -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mamayuan/ip.git completed! -Sep 02, 2023 2:26:07 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlfredBeNoel/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlfredBeNoel/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/vansh284/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/vansh284/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/vansh284/ip.git (master) completed! -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [243/480] Analyzing https://github.com/songfangyl/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Singa-pirate/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tanboonkhong/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/songfangyl/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/songfangyl/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/chew01/ip.git completed! +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WZWren/ip.git... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/RSXIX/ip.git completed! +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/juliusgambe/ip.git completed! +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/inezkok/ip.git... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/inezkok/ip.git to complete... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WZWren/ip.git to complete... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wasjoe1/ip.git... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wasjoe1/ip.git to complete... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhonghan721/ip.git completed! +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kokrui/ip.git... +Sep 02, 2023 2:45:31 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kokrui/ip.git to complete... +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Singa-pirate/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Singa-pirate/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ong-wei-hong/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Singa-pirate/ip.git (master) completed! -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/keaganpzh/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator analyzeRepos +INFO: [243/480] Analyzing https://github.com/vansh284/ip.git (master)... +Sep 02, 2023 2:45:31 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/vansh284/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/vansh284/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/songfangyl/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/songfangyl/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/songfangyl/ip.git (master) completed! +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [244/480] Analyzing https://github.com/YeoBohShin/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/keaganpzh/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ElginTZM/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ElginTZM/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/YeoBohShin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/YeoBohShin/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cbj252/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LimJH2002/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LimJH2002/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WZWren/ip.git completed! +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jinyang628/ip.git... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jinyang628/ip.git to complete... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wasjoe1/ip.git completed! +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/inezkok/ip.git completed! +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nananakx-x/ip.git... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kokrui/ip.git completed! +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ylyma/ip.git... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AnnabelTing/ip.git... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nananakx-x/ip.git to complete... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AnnabelTing/ip.git to complete... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ylyma/ip.git to complete... +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/YeoBohShin/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/YeoBohShin/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/YeoBohShin/ip.git (master) completed! -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepos INFO: [245/480] Analyzing https://github.com/shuenj/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/vansh284/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/shuenj/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/shuenj/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlfredBeNoel/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cmHuang777/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cmHuang777/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/songfangyl/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/keaganpzh/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/songfangyl/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/WeeeHung/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/songfangyl/ip.git (master) completed! -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/WeeeHung/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator analyzeRepos -INFO: [246/480] Analyzing https://github.com/andrechuakj/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ElginTZM/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xxiaoweii/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xxiaoweii/ip.git to complete... -Sep 02, 2023 2:26:08 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/andrechuakj/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/andrechuakj/ip.git (master)... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LimJH2002/ip.git completed! -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rayyan35p/ip.git... -Sep 02, 2023 2:26:08 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rayyan35p/ip.git to complete... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shuenj/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shuenj/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shuenj/ip.git (master) completed! -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [247/480] Analyzing https://github.com/lunaroddity/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/andrechuakj/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/vansh284/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/vansh284/ip.git (master) completed! +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [246/480] Analyzing https://github.com/lunaroddity/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lunaroddity/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lunaroddity/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/andrechuakj/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/andrechuakj/ip.git (master) completed! -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [248/480] Analyzing https://github.com/samuelmui8/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/samuelmui8/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/samuelmui8/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cmHuang777/ip.git completed! -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dhruvir29/ip.git... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dhruvir29/ip.git to complete... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lunaroddity/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lunaroddity/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lunaroddity/ip.git (master) completed! -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [249/480] Analyzing https://github.com/WeeMingQing/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [247/480] Analyzing https://github.com/andrechuakj/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/andrechuakj/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/andrechuakj/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/andrechuakj/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shuenj/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/andrechuakj/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/andrechuakj/ip.git (master) completed! +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [248/480] Analyzing https://github.com/WeeMingQing/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WeeMingQing/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WeeMingQing/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/samuelmui8/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/samuelmui8/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/samuelmui8/ip.git (master) completed! -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [250/480] Analyzing https://github.com/antonTan96/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/antonTan96/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/antonTan96/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/WeeeHung/ip.git completed! -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/LinWanLeii/ip.git... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/LinWanLeii/ip.git to complete... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xxiaoweii/ip.git completed! -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rayyan35p/ip.git completed! -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Song-Mengfei/ip.git... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jinyuan0425/ip.git... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Song-Mengfei/ip.git to complete... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jinyuan0425/ip.git to complete... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shuenj/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shuenj/ip.git (master) completed! +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator analyzeRepos +INFO: [249/480] Analyzing https://github.com/aliciamichellew/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jinyang628/ip.git completed! +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/timetraveller-123/ip.git... +Sep 02, 2023 2:45:32 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aliciamichellew/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aliciamichellew/ip.git (master)... +Sep 02, 2023 2:45:32 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/timetraveller-123/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ylyma/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nananakx-x/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LicongHuang/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AnnabelTing/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jweng88/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Jweng88/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/EricXiong420/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LicongHuang/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/EricXiong420/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WeeMingQing/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WeeMingQing/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WeeMingQing/ip.git (master) completed! -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [251/480] Analyzing https://github.com/aliciamichellew/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aliciamichellew/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aliciamichellew/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/antonTan96/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dhruvir29/ip.git completed! -Sep 02, 2023 2:26:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/antonTan96/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/antonTan96/ip.git (master) completed! -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tiif/ip.git... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator analyzeRepos -INFO: [252/480] Analyzing https://github.com/owenyeo/ip.git (master)... -Sep 02, 2023 2:26:09 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tiif/ip.git to complete... -Sep 02, 2023 2:26:09 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [250/480] Analyzing https://github.com/samuelmui8/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/samuelmui8/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/samuelmui8/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/aliciamichellew/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/aliciamichellew/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/aliciamichellew/ip.git (master) completed! +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [251/480] Analyzing https://github.com/owenyeo/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/owenyeo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/owenyeo/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/samuelmui8/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/samuelmui8/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/samuelmui8/ip.git (master) completed! +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [252/480] Analyzing https://github.com/antonTan96/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/antonTan96/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/antonTan96/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/owenyeo/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/owenyeo/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/owenyeo/ip.git (master) completed! -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepos INFO: [253/480] Analyzing https://github.com/gongg21/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/gongg21/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/gongg21/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jinyuan0425/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicholascher/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/LinWanLeii/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicholascher/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/hcs1203/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Song-Mengfei/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/papataco14/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/hcs1203/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/papataco14/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/aliciamichellew/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/aliciamichellew/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/aliciamichellew/ip.git (master) completed! -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [254/480] Analyzing https://github.com/nabonitasen/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tiif/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nabonitasen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nabonitasen/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KamJiaYue/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/KamJiaYue/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Jweng88/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/timetraveller-123/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jovkusuma/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jovkusuma/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bhnuka/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bhnuka/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/EricXiong420/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/J-hta-n/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LicongHuang/ip.git completed! +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Tim-Siu/ip.git... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/J-hta-n/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Tim-Siu/ip.git to complete... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/antonTan96/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/antonTan96/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/antonTan96/ip.git (master) completed! +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator analyzeRepos +INFO: [254/480] Analyzing https://github.com/pzl111/ip.git (master)... +Sep 02, 2023 2:45:33 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/pzl111/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/pzl111/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/gongg21/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/gongg21/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/gongg21/ip.git (master) completed! -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [255/480] Analyzing https://github.com/erohsikivar/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/erohsikivar/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/erohsikivar/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicholascher/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/hcs1203/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/NereusWB922/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/PohSayKeong/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/NereusWB922/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/papataco14/ip.git completed! -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/PohSayKeong/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ivyy-poison/ip.git... -Sep 02, 2023 2:26:10 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ivyy-poison/ip.git to complete... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [255/480] Analyzing https://github.com/nabonitasen/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nabonitasen/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nabonitasen/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/J-hta-n/ip.git completed! +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bhnuka/ip.git completed! +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yarnmengnus/ip.git... +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sopa301/ip.git... +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Tim-Siu/ip.git completed! +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yarnmengnus/ip.git to complete... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nabonitasen/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sopa301/ip.git to complete... +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ngeeyonglim/ip.git... +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jovkusuma/ip.git completed! +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ngeeyonglim/ip.git to complete... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nabonitasen/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nabonitasen/ip.git (master) completed! -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator analyzeRepos -INFO: [256/480] Analyzing https://github.com/pzl111/ip.git (master)... -Sep 02, 2023 2:26:10 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/pzl111/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:10 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/pzl111/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/erohsikivar/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KamJiaYue/ip.git completed! -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jacobcuison/ip.git... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/erohsikivar/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/erohsikivar/ip.git (master) completed! -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/flexibo/ip.git... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [256/480] Analyzing https://github.com/erohsikivar/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/pzl111/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/flexibo/ip.git to complete... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/pzl111/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/pzl111/ip.git (master) completed! +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepos INFO: [257/480] Analyzing https://github.com/teozern1/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jacobcuison/ip.git to complete... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/erohsikivar/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/erohsikivar/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/teozern1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/teozern1/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/NereusWB922/ip.git completed! -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PohSayKeong/ip.git completed! -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/teozern1/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ji-just-ji/ip.git... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kohkaijie/ip.git... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/erohsikivar/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/teozern1/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/pzl111/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/teozern1/ip.git (master) completed! -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [258/480] Analyzing https://github.com/Elijah5399/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ji-just-ji/ip.git to complete... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kohkaijie/ip.git to complete... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/pzl111/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Elijah5399/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Elijah5399/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/pzl111/ip.git (master) completed! -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [259/480] Analyzing https://github.com/nicleongyj/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ivyy-poison/ip.git completed! -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rocketninja7/ip.git... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rocketninja7/ip.git to complete... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/erohsikivar/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/erohsikivar/ip.git (master) completed! +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [258/480] Analyzing https://github.com/ryamgoh/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [259/480] Analyzing https://github.com/WinSheng1/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/WinSheng1/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/WinSheng1/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ryamgoh/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ryamgoh/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/WinSheng1/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/WinSheng1/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/WinSheng1/ip.git (master) completed! +Sep 02, 2023 2:45:34 PM reposense.report.ReportGenerator analyzeRepos +INFO: [260/480] Analyzing https://github.com/nicleongyj/ip.git (master)... +Sep 02, 2023 2:45:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ryamgoh/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicleongyj/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicleongyj/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jacobcuison/ip.git completed! -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zekone/ip.git... -Sep 02, 2023 2:26:11 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zekone/ip.git to complete... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ryamgoh/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ryamgoh/ip.git (master) completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/flexibo/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ngeeyonglim/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [261/480] Analyzing https://github.com/Elijah5399/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ItsTYtan/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/javinchua/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sopa301/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ItsTYtan/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/amosting/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/javinchua/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yarnmengnus/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Elijah5399/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Elijah5399/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cleon2/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/amosting/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cleon2/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nicleongyj/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Elijah5399/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nicleongyj/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nicleongyj/ip.git (master) completed! -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [260/480] Analyzing https://github.com/ryamgoh/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [262/480] Analyzing https://github.com/yucongkoo/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Elijah5399/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Elijah5399/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yucongkoo/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yucongkoo/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Elijah5399/ip.git (master) completed! -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator analyzeRepos -INFO: [261/480] Analyzing https://github.com/WinSheng1/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ryamgoh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ryamgoh/ip.git (master)... -Sep 02, 2023 2:26:11 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/WinSheng1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:11 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/WinSheng1/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kohkaijie/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/markgcera/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/markgcera/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ji-just-ji/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/PearlynnT/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/PearlynnT/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/WinSheng1/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/WinSheng1/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/WinSheng1/ip.git (master) completed! -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [262/480] Analyzing https://github.com/Chen-Kuei/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rocketninja7/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/StevenLiudw/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/StevenLiudw/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [263/480] Analyzing https://github.com/Chen-Kuei/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chen-Kuei/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chen-Kuei/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zekone/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/TeeRenJing/ip.git... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chen-Kuei/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/TeeRenJing/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chen-Kuei/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Chen-Kuei/ip.git (master) completed! -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [263/480] Analyzing https://github.com/yucongkoo/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yucongkoo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yucongkoo/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ryamgoh/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ryamgoh/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ryamgoh/ip.git (master) completed! -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [264/480] Analyzing https://github.com/marioalvaro/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/marioalvaro/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/marioalvaro/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/markgcera/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/mounilsankar/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/mounilsankar/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/PearlynnT/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dloh2236/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dloh2236/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/marioalvaro/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yucongkoo/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yucongkoo/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yucongkoo/ip.git (master) completed! -Sep 02, 2023 2:26:12 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/marioalvaro/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/marioalvaro/ip.git (master) completed! -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [265/480] Analyzing https://github.com/et-irl/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator analyzeRepos -INFO: [266/480] Analyzing https://github.com/conradsoon/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/et-irl/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/et-irl/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/TeeRenJing/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zannloo/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Chen-Kuei/ip.git (master) completed! +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [264/480] Analyzing https://github.com/conradsoon/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/conradsoon/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:12 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/conradsoon/ip.git (master)... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/StevenLiudw/ip.git completed! -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zannloo/ip.git to complete... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/junnengsoo/ip.git... -Sep 02, 2023 2:26:12 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/junnengsoo/ip.git to complete... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ItsTYtan/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ketweeen/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cleon2/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ketweeen/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sudarshan2401/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/amosting/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/javinchua/ip.git completed! +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wui-hong/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sudarshan2401/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yucongkoo/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/conradsoon/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wui-hong/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Respirayson/ip.git... +Sep 02, 2023 2:45:35 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Respirayson/ip.git to complete... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yucongkoo/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yucongkoo/ip.git (master) completed! +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [265/480] Analyzing https://github.com/GSgiansen/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/conradsoon/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/conradsoon/ip.git (master) completed! -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [267/480] Analyzing https://github.com/GSgiansen/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator analyzeRepos +INFO: [266/480] Analyzing https://github.com/marioalvaro/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/marioalvaro/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/marioalvaro/ip.git (master)... +Sep 02, 2023 2:45:35 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/GSgiansen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/GSgiansen/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/et-irl/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/et-irl/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/et-irl/ip.git (master) completed! -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [268/480] Analyzing https://github.com/Seonlo99/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/mounilsankar/ip.git completed! -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/freshcabbage123/ip.git... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Seonlo99/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Seonlo99/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dloh2236/ip.git completed! -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/freshcabbage123/ip.git to complete... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kokseng1/ip.git... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kokseng1/ip.git to complete... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zannloo/ip.git completed! -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/itsNatTan/ip.git... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/itsNatTan/ip.git to complete... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/junnengsoo/ip.git completed! -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tjingsheng/ip.git... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tjingsheng/ip.git to complete... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/marioalvaro/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/GSgiansen/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/marioalvaro/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/marioalvaro/ip.git (master) completed! +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [267/480] Analyzing https://github.com/joel-foo/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/GSgiansen/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/GSgiansen/ip.git (master) completed! -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [269/480] Analyzing https://github.com/joel-foo/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [268/480] Analyzing https://github.com/et-irl/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/joel-foo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/joel-foo/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/et-irl/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/et-irl/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sudarshan2401/ip.git completed! +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Chrainx/ip.git... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ketweeen/ip.git completed! +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wui-hong/ip.git completed! +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Chrainx/ip.git to complete... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Respirayson/ip.git completed! +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/shishirbychapur/ip.git... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/sunzihan23/ip.git... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/shishirbychapur/ip.git to complete... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wj331/ip.git... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/sunzihan23/ip.git to complete... +Sep 02, 2023 2:45:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wj331/ip.git to complete... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/et-irl/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/joel-foo/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/et-irl/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/joel-foo/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/joel-foo/ip.git (master) completed! +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/et-irl/ip.git (master) completed! +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [269/480] Analyzing https://github.com/Seonlo99/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [270/480] Analyzing https://github.com/brendanneojw/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Seonlo99/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Seonlo99/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/brendanneojw/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/brendanneojw/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/brendanneojw/ip.git (master)... +Sep 02, 2023 2:45:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/brendanneojw/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/brendanneojw/ip.git (master) completed! +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [271/480] Analyzing https://github.com/tim-pipi/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Seonlo99/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Seonlo99/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Seonlo99/ip.git (master) completed! -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator analyzeRepos -INFO: [270/480] Analyzing https://github.com/tim-pipi/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tim-pipi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:13 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tim-pipi/ip.git (master)... -Sep 02, 2023 2:26:13 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kokseng1/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ZD292/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/freshcabbage123/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alientian/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ZD292/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/alientian/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tim-pipi/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tim-pipi/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tim-pipi/ip.git (master) completed! -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [271/480] Analyzing https://github.com/marcellaantania/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/itsNatTan/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/frrrrry/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/frrrrry/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tjingsheng/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wanghejin/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Seonlo99/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Seonlo99/ip.git (master) completed! +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [272/480] Analyzing https://github.com/marcellaantania/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/marcellaantania/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/marcellaantania/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wanghejin/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/joel-foo/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/joel-foo/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/joel-foo/ip.git (master) completed! -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [272/480] Analyzing https://github.com/li-rongzhi/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/li-rongzhi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/li-rongzhi/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Chrainx/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tjch-o/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/sunzihan23/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tjch-o/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/licongshen12/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wj331/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/licongshen12/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/shishirbychapur/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mamayuan/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mamayuan/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ong-wei-hong/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ong-wei-hong/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/marcellaantania/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/marcellaantania/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/marcellaantania/ip.git (master) completed! -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [273/480] Analyzing https://github.com/seraphimstreets/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [273/480] Analyzing https://github.com/li-rongzhi/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tim-pipi/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tim-pipi/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/li-rongzhi/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/li-rongzhi/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tim-pipi/ip.git (master) completed! +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [274/480] Analyzing https://github.com/KamiliArsyad/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/KamiliArsyad/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/KamiliArsyad/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/KamiliArsyad/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/KamiliArsyad/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/KamiliArsyad/ip.git (master) completed! +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [275/480] Analyzing https://github.com/seraphimstreets/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/seraphimstreets/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/seraphimstreets/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ZD292/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/MagnificentCreature/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alientian/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/MagnificentCreature/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/SungMatt/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/SungMatt/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/frrrrry/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tjch-o/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tanboonkhong/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mamayuan/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tanboonkhong/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cbj252/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/licongshen12/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ong-wei-hong/ip.git completed! +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cbj252/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/seraphimstreets/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/andrefoo/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/andrefoo/ip.git to complete... -Sep 02, 2023 2:26:14 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlfredBeNoel/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/keaganpzh/ip.git... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlfredBeNoel/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/keaganpzh/ip.git to complete... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/seraphimstreets/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/seraphimstreets/ip.git (master) completed! -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator analyzeRepos -INFO: [274/480] Analyzing https://github.com/brendanneojw/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/brendanneojw/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:14 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/brendanneojw/ip.git (master)... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wanghejin/ip.git completed! -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tohpinren/ip.git... -Sep 02, 2023 2:26:14 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tohpinren/ip.git to complete... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator analyzeRepos +INFO: [276/480] Analyzing https://github.com/lilozz2/ip.git (master)... +Sep 02, 2023 2:45:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/li-rongzhi/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:37 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lilozz2/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lilozz2/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/li-rongzhi/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/li-rongzhi/ip.git (master) completed! -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [275/480] Analyzing https://github.com/KamiliArsyad/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/brendanneojw/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/brendanneojw/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/KamiliArsyad/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/KamiliArsyad/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/brendanneojw/ip.git (master) completed! -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [276/480] Analyzing https://github.com/trgao/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [277/480] Analyzing https://github.com/trgao/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/trgao/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/trgao/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/MagnificentCreature/ip.git completed! -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/XihuaZ/ip.git... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/SungMatt/ip.git completed! -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/XihuaZ/ip.git to complete... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xavierpok/ip.git... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xavierpok/ip.git to complete... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/andrefoo/ip.git completed! -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/bkjwjason/ip.git... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/bkjwjason/ip.git to complete... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tohpinren/ip.git completed! -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Choonyan02/ip.git... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/KamiliArsyad/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Choonyan02/ip.git to complete... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/KamiliArsyad/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/KamiliArsyad/ip.git (master) completed! -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [277/480] Analyzing https://github.com/lilozz2/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/trgao/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/trgao/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/trgao/ip.git (master) completed! -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepos -INFO: [278/480] Analyzing https://github.com/jean-cq/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lilozz2/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lilozz2/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jean-cq/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jean-cq/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lilozz2/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lilozz2/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lilozz2/ip.git (master) completed! -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [278/480] Analyzing https://github.com/jean-cq/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jean-cq/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jean-cq/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/trgao/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/trgao/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/trgao/ip.git (master) completed! +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [279/480] Analyzing https://github.com/jedkohjk/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jedkohjk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:15 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jedkohjk/ip.git (master)... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/XihuaZ/ip.git completed! -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/aarontxz/ip.git... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xavierpok/ip.git completed! -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jianyangg/ip.git... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/aarontxz/ip.git to complete... -Sep 02, 2023 2:26:15 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jianyangg/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tanboonkhong/ip.git completed! +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jean-cq/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ElginTZM/ip.git... +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ElginTZM/ip.git to complete... +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jean-cq/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jean-cq/ip.git (master) completed! -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/bkjwjason/ip.git completed! -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepos INFO: [280/480] Analyzing https://github.com/yytan25/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tayian/ip.git... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tayian/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/keaganpzh/ip.git completed! +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LimJH2002/ip.git... +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cbj252/ip.git completed! +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yytan25/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yytan25/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Choonyan02/ip.git completed! -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wnchan/ip.git... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wnchan/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LimJH2002/ip.git to complete... +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cmHuang777/ip.git... +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cmHuang777/ip.git to complete... +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlfredBeNoel/ip.git completed! +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/WeeeHung/ip.git... +Sep 02, 2023 2:45:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/WeeeHung/ip.git to complete... +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yytan25/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yytan25/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/aarontxz/ip.git completed! -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yytan25/ip.git (master) completed! -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [281/480] Analyzing https://github.com/maypfv/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Jweewee/ip.git... -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jedkohjk/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Jweewee/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/maypfv/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/maypfv/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jianyangg/ip.git completed! -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jedkohjk/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jedkohjk/ip.git (master) completed! -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator analyzeRepos -INFO: [282/480] Analyzing https://github.com/ryantzr1/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/cyaoxuan/ip.git... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/cyaoxuan/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yytan25/ip.git (master) completed! +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [281/480] Analyzing https://github.com/ryantzr1/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ryantzr1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:16 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ryantzr1/ip.git (master)... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tayian/ip.git completed! -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wnchan/ip.git completed! -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/anthonytamzil/ip.git... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/CelestineTan03/ip.git... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/anthonytamzil/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/CelestineTan03/ip.git to complete... -Sep 02, 2023 2:26:16 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jedkohjk/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jedkohjk/ip.git (master) completed! +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [282/480] Analyzing https://github.com/TohLiYuan/ip.git (master)... +Sep 02, 2023 2:45:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/TohLiYuan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/TohLiYuan/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ryantzr1/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ryantzr1/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ryantzr1/ip.git (master) completed! -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [283/480] Analyzing https://github.com/TohLiYuan/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/TohLiYuan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/TohLiYuan/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/maypfv/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/maypfv/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/maypfv/ip.git (master) completed! -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [284/480] Analyzing https://github.com/JizhuoChen/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/JizhuoChen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/JizhuoChen/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Jweewee/ip.git completed! -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/saltedfishxx/ip.git... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/saltedfishxx/ip.git to complete... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/cyaoxuan/ip.git completed! -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/euchangxian/ip.git... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/euchangxian/ip.git to complete... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/CelestineTan03/ip.git completed! -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/anthonytamzil/ip.git completed! -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AlagappanRa/ip.git... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Ken-Lai/ip.git... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AlagappanRa/ip.git to complete... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Ken-Lai/ip.git to complete... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [283/480] Analyzing https://github.com/maypfv/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ElginTZM/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/maypfv/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/maypfv/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cmHuang777/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LimJH2002/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xxiaoweii/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xxiaoweii/ip.git to complete... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rayyan35p/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dhruvir29/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/WeeeHung/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rayyan35p/ip.git to complete... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dhruvir29/ip.git to complete... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/LinWanLeii/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/LinWanLeii/ip.git to complete... +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TohLiYuan/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TohLiYuan/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TohLiYuan/ip.git (master) completed! -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [285/480] Analyzing https://github.com/ChongWeiJie29/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [284/480] Analyzing https://github.com/ChongWeiJie29/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ChongWeiJie29/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ChongWeiJie29/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/JizhuoChen/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/JizhuoChen/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/JizhuoChen/ip.git (master) completed! -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [286/480] Analyzing https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Goh-Li-Ting/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/maypfv/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/maypfv/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/maypfv/ip.git (master) completed! +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [285/480] Analyzing https://github.com/JizhuoChen/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/JizhuoChen/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/JizhuoChen/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ChongWeiJie29/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ChongWeiJie29/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ChongWeiJie29/ip.git (master) completed! -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator analyzeRepos -INFO: [287/480] Analyzing https://github.com/kristayeo/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [286/480] Analyzing https://github.com/kristayeo/ip.git (master)... +Sep 02, 2023 2:45:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kristayeo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:17 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kristayeo/ip.git (master)... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/saltedfishxx/ip.git completed! -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/felibunnyy/ip.git... -Sep 02, 2023 2:26:17 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/felibunnyy/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/euchangxian/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Ken-Lai/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AlagappanRa/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/itssisi/ip.git... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jamz903/ip.git... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jamz903/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/itssisi/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Kevin-Liusx/ip.git... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Kevin-Liusx/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Goh-Li-Ting/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Goh-Li-Ting/ip.git (master) completed! -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [288/480] Analyzing https://github.com/derekjxtan/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/derekjxtan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/derekjxtan/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xxiaoweii/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rayyan35p/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Song-Mengfei/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dhruvir29/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/LinWanLeii/ip.git completed! +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Song-Mengfei/ip.git to complete... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jinyuan0425/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tiif/ip.git... +Sep 02, 2023 2:45:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jinyuan0425/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tiif/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicholascher/ip.git... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicholascher/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/JizhuoChen/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kristayeo/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/JizhuoChen/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/JizhuoChen/ip.git (master) completed! +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [287/480] Analyzing https://github.com/derekjxtan/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kristayeo/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kristayeo/ip.git (master) completed! -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [289/480] Analyzing https://github.com/Chandan8186/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Chandan8186/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Chandan8186/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/felibunnyy/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Propene-Dan/ip.git... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Propene-Dan/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [288/480] Analyzing https://github.com/Goh-Li-Ting/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/derekjxtan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/derekjxtan/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Goh-Li-Ting/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Goh-Li-Ting/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Song-Mengfei/ip.git completed! +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/hcs1203/ip.git... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicholascher/ip.git completed! +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jinyuan0425/ip.git completed! +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/hcs1203/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/papataco14/ip.git... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KamJiaYue/ip.git... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tiif/ip.git completed! +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/papataco14/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/KamJiaYue/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/NereusWB922/ip.git... +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/derekjxtan/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Goh-Li-Ting/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/NereusWB922/ip.git to complete... +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/derekjxtan/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/derekjxtan/ip.git (master) completed! -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [289/480] Analyzing https://github.com/shashahchk/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Goh-Li-Ting/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Goh-Li-Ting/ip.git (master) completed! +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [290/480] Analyzing https://github.com/Chandan8186/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shashahchk/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shashahchk/ip.git (master)... +Sep 02, 2023 2:45:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Chandan8186/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Chandan8186/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shashahchk/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shashahchk/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shashahchk/ip.git (master) completed! +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [291/480] Analyzing https://github.com/Kailash201/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chandan8186/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [290/480] Analyzing https://github.com/alyssaongyx/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Kevin-Liusx/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jamz903/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ChuanXinNg/ip.git... -Sep 02, 2023 2:26:18 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kailash201/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kailash201/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chandan8186/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kenvynKwek/ip.git... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chandan8186/ip.git (master) completed! -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator analyzeRepos -INFO: [291/480] Analyzing https://github.com/shashahchk/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChuanXinNg/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kenvynKwek/ip.git to complete... -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [292/480] Analyzing https://github.com/alyssaongyx/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/alyssaongyx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/alyssaongyx/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/itssisi/ip.git completed! -Sep 02, 2023 2:26:18 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shashahchk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:18 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shashahchk/ip.git (master)... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Ruizhi2001/ip.git... -Sep 02, 2023 2:26:18 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Ruizhi2001/ip.git to complete... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/papataco14/ip.git completed! +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/PohSayKeong/ip.git... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/PohSayKeong/ip.git to complete... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KamJiaYue/ip.git completed! +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/hcs1203/ip.git completed! +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/NereusWB922/ip.git completed! +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ivyy-poison/ip.git... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jacobcuison/ip.git... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ji-just-ji/ip.git... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ji-just-ji/ip.git to complete... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jacobcuison/ip.git to complete... +Sep 02, 2023 2:45:41 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ivyy-poison/ip.git to complete... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alyssaongyx/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shashahchk/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Kailash201/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alyssaongyx/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alyssaongyx/ip.git (master) completed! -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [292/480] Analyzing https://github.com/AndrewJanong/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shashahchk/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shashahchk/ip.git (master) completed! -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [293/480] Analyzing https://github.com/laurenlim2112/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [293/480] Analyzing https://github.com/AndrewJanong/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Kailash201/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Kailash201/ip.git (master) completed! +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [294/480] Analyzing https://github.com/laurenlim2112/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AndrewJanong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AndrewJanong/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/laurenlim2112/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/laurenlim2112/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Propene-Dan/ip.git completed! -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/prawnzyy/ip.git... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/prawnzyy/ip.git to complete... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChuanXinNg/ip.git completed! -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kenvynKwek/ip.git completed! -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Ruizhi2001/ip.git completed! -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/saraozn/ip.git... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicholastng010601/ip.git... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DistractedCat/ip.git... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicholastng010601/ip.git to complete... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/saraozn/ip.git to complete... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DistractedCat/ip.git to complete... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AndrewJanong/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AndrewJanong/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AndrewJanong/ip.git (master) completed! -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepos -INFO: [294/480] Analyzing https://github.com/Kailash201/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kailash201/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kailash201/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/laurenlim2112/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/laurenlim2112/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/laurenlim2112/ip.git (master) completed! -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [295/480] Analyzing https://github.com/lambraydon/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lambraydon/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:19 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lambraydon/ip.git (master)... -Sep 02, 2023 2:26:19 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/prawnzyy/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yezkez10/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/saraozn/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DistractedCat/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yezkez10/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/revdrag/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicholastng010601/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/alvinlim277/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/revdrag/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/alvinlim277/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/JasonRay168/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/JasonRay168/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Kailash201/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Kailash201/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Kailash201/ip.git (master) completed! -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/laurenlim2112/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/laurenlim2112/ip.git (master)... +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/laurenlim2112/ip.git (master) completed! +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [296/480] Analyzing https://github.com/sk2001git/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/sk2001git/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/sk2001git/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PohSayKeong/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jacobcuison/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kohkaijie/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rocketninja7/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ivyy-poison/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kohkaijie/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rocketninja7/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ji-just-ji/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zekone/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/markgcera/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zekone/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/markgcera/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lambraydon/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lambraydon/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lambraydon/ip.git (master) completed! -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [297/480] Analyzing https://github.com/peasantbird/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/peasantbird/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/peasantbird/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/peasantbird/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/peasantbird/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/peasantbird/ip.git (master) completed! -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [298/480] Analyzing https://github.com/chonguschonguschongus/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [297/480] Analyzing https://github.com/chonguschonguschongus/ip.git (master)... +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sk2001git/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chonguschonguschongus/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chonguschonguschongus/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sk2001git/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sk2001git/ip.git (master) completed! -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [299/480] Analyzing https://github.com/lshaoqin/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [298/480] Analyzing https://github.com/lshaoqin/ip.git (master)... +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lshaoqin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:20 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lshaoqin/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/alvinlim277/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/billieboy7/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/JasonRay168/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/billieboy7/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jannnice/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yezkez10/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/revdrag/ip.git completed! -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/evanyan13/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/samuelim01/ip.git... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jannnice/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/samuelim01/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/evanyan13/ip.git to complete... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lshaoqin/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lshaoqin/ip.git (master)... -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lshaoqin/ip.git (master) completed! -Sep 02, 2023 2:26:20 PM reposense.report.ReportGenerator analyzeRepos -INFO: [300/480] Analyzing https://github.com/teozhengyang/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/teozhengyang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/teozhengyang/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chonguschonguschongus/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/chonguschonguschongus/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/chonguschonguschongus/ip.git (master) completed! -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [301/480] Analyzing https://github.com/WangCheng0116/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lshaoqin/ip.git (master) completed! +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [299/480] Analyzing https://github.com/WangCheng0116/ip.git (master)... +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WangCheng0116/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WangCheng0116/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/teozhengyang/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/teozhengyang/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/teozhengyang/ip.git (master) completed! -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [302/480] Analyzing https://github.com/elaineshijie/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/elaineshijie/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/elaineshijie/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/billieboy7/ip.git completed! -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dinde2004/ip.git... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/samuelim01/ip.git completed! -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dinde2004/ip.git to complete... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jannnice/ip.git completed! -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/seanpzk/ip.git... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/evanyan13/ip.git completed! -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/KumChaiYin/ip.git... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lsyurea/ip.git... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/seanpzk/ip.git to complete... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lsyurea/ip.git to complete... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/KumChaiYin/ip.git to complete... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/chonguschonguschongus/ip.git (master)... +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/chonguschonguschongus/ip.git (master) completed! +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator analyzeRepos +INFO: [300/480] Analyzing https://github.com/peasantbird/ip.git (master)... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rocketninja7/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/PearlynnT/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/PearlynnT/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kohkaijie/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/peasantbird/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/peasantbird/ip.git (master)... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/StevenLiudw/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/StevenLiudw/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/markgcera/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zekone/ip.git completed! +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/TeeRenJing/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/mounilsankar/ip.git... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/mounilsankar/ip.git to complete... +Sep 02, 2023 2:45:42 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/TeeRenJing/ip.git to complete... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/peasantbird/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/peasantbird/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/peasantbird/ip.git (master) completed! +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [301/480] Analyzing https://github.com/teozhengyang/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/teozhengyang/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/teozhengyang/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WangCheng0116/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WangCheng0116/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WangCheng0116/ip.git (master) completed! -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [303/480] Analyzing https://github.com/chewjh1234/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [302/480] Analyzing https://github.com/chewjh1234/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chewjh1234/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chewjh1234/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/elaineshijie/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/elaineshijie/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/elaineshijie/ip.git (master) completed! -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [304/480] Analyzing https://github.com/lordidiot/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lordidiot/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lordidiot/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/teozhengyang/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/teozhengyang/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/teozhengyang/ip.git (master) completed! +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [303/480] Analyzing https://github.com/elaineshijie/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chewjh1234/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/elaineshijie/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/elaineshijie/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chewjh1234/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chewjh1234/ip.git (master) completed! -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator analyzeRepos -INFO: [305/480] Analyzing https://github.com/lynnlow175/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [304/480] Analyzing https://github.com/lynnlow175/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/PearlynnT/ip.git completed! +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lynnlow175/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:21 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lynnlow175/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lordidiot/ip.git (master)... -Sep 02, 2023 2:26:21 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dinde2004/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lordidiot/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lordidiot/ip.git (master) completed! -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [306/480] Analyzing https://github.com/RSXIX/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sasmik23/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sasmik23/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/seanpzk/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lsyurea/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/RSXIX/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/RSXIX/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/geraldngjx/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lululwtv/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lululwtv/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/geraldngjx/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/KumChaiYin/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/garylow2001/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/garylow2001/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dloh2236/ip.git... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dloh2236/ip.git to complete... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/TeeRenJing/ip.git completed! +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/StevenLiudw/ip.git completed! +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zannloo/ip.git... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/mounilsankar/ip.git completed! +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/junnengsoo/ip.git... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/freshcabbage123/ip.git... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/junnengsoo/ip.git to complete... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zannloo/ip.git to complete... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/freshcabbage123/ip.git to complete... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lynnlow175/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lynnlow175/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lynnlow175/ip.git (master) completed! -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [307/480] Analyzing https://github.com/chew01/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [305/480] Analyzing https://github.com/lordidiot/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lordidiot/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lordidiot/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/elaineshijie/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/elaineshijie/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/elaineshijie/ip.git (master) completed! +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [306/480] Analyzing https://github.com/chew01/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/chew01/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/chew01/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lordidiot/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lordidiot/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lordidiot/ip.git (master) completed! +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator analyzeRepos +INFO: [307/480] Analyzing https://github.com/RSXIX/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/RSXIX/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/RSXIX/ip.git (master)... +Sep 02, 2023 2:45:43 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dloh2236/ip.git completed! +Sep 02, 2023 2:45:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/RSXIX/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kokseng1/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kokseng1/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/RSXIX/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/RSXIX/ip.git (master) completed! -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepos INFO: [308/480] Analyzing https://github.com/juliusgambe/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/juliusgambe/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/juliusgambe/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/chew01/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sasmik23/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/chew01/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/chew01/ip.git (master) completed! -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/leontan2/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepos -INFO: [309/480] Analyzing https://github.com/inezkok/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lululwtv/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/geraldngjx/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/leontan2/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wamps-jp/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dickongwd/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wamps-jp/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/garylow2001/ip.git completed! -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/inezkok/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/inezkok/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jacksonyuan256/ip.git... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dickongwd/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jacksonyuan256/ip.git to complete... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [309/480] Analyzing https://github.com/zhonghan721/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/junnengsoo/ip.git completed! +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/itsNatTan/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zannloo/ip.git completed! +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/itsNatTan/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tjingsheng/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhonghan721/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhonghan721/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/freshcabbage123/ip.git completed! +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tjingsheng/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ZD292/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ZD292/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/juliusgambe/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/juliusgambe/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhonghan721/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/juliusgambe/ip.git (master) completed! -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepos INFO: [310/480] Analyzing https://github.com/WZWren/ip.git (master)... -Sep 02, 2023 2:26:22 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhonghan721/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhonghan721/ip.git (master) completed! +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [311/480] Analyzing https://github.com/inezkok/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WZWren/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:22 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WZWren/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/inezkok/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/inezkok/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kokseng1/ip.git completed! +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alientian/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/alientian/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/itsNatTan/ip.git completed! +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ZD292/ip.git completed! +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/frrrrry/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/frrrrry/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WZWren/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wanghejin/ip.git... +Sep 02, 2023 2:45:44 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wanghejin/ip.git to complete... +Sep 02, 2023 2:45:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/WZWren/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/WZWren/ip.git (master) completed! +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator analyzeRepos +INFO: [312/480] Analyzing https://github.com/wasjoe1/ip.git (master)... +Sep 02, 2023 2:45:44 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wasjoe1/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wasjoe1/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/inezkok/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/inezkok/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/inezkok/ip.git (master) completed! -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [311/480] Analyzing https://github.com/zhonghan721/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/WZWren/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/WZWren/ip.git (master) completed! -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [312/480] Analyzing https://github.com/nananakx-x/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhonghan721/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhonghan721/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [313/480] Analyzing https://github.com/kokrui/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kokrui/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kokrui/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kokrui/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kokrui/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kokrui/ip.git (master) completed! +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [314/480] Analyzing https://github.com/jinyang628/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wasjoe1/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jinyang628/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jinyang628/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wasjoe1/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wasjoe1/ip.git (master) completed! +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [315/480] Analyzing https://github.com/nananakx-x/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nananakx-x/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nananakx-x/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/leontan2/ip.git completed! -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jacksonyuan256/ip.git completed! -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dickongwd/ip.git completed! -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/suryanshkushwaha/ip.git... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/suryanshkushwaha/ip.git to complete... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wr1159/ip.git... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wr1159/ip.git to complete... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Nauxe/ip.git... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wamps-jp/ip.git completed! -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Nauxe/ip.git to complete... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/yyyaohhh/ip.git... -Sep 02, 2023 2:26:23 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/yyyaohhh/ip.git to complete... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alientian/ip.git completed! +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/MagnificentCreature/ip.git... +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/MagnificentCreature/ip.git to complete... +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/frrrrry/ip.git completed! +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/SungMatt/ip.git... +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wanghejin/ip.git completed! +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/SungMatt/ip.git to complete... +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/andrefoo/ip.git... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nananakx-x/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/andrefoo/ip.git to complete... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nananakx-x/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nananakx-x/ip.git (master) completed! -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [313/480] Analyzing https://github.com/jinyang628/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jinyang628/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jinyang628/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhonghan721/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhonghan721/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhonghan721/ip.git (master) completed! -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [314/480] Analyzing https://github.com/kokrui/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kokrui/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kokrui/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [316/480] Analyzing https://github.com/ylyma/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ylyma/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ylyma/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jinyang628/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kokrui/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jinyang628/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kokrui/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jinyang628/ip.git (master) completed! -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kokrui/ip.git (master) completed! -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [315/480] Analyzing https://github.com/wasjoe1/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator analyzeRepos -INFO: [316/480] Analyzing https://github.com/timetraveller-123/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [317/480] Analyzing https://github.com/AnnabelTing/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AnnabelTing/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AnnabelTing/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ylyma/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ylyma/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AnnabelTing/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ylyma/ip.git (master) completed! +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [318/480] Analyzing https://github.com/Jweng88/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AnnabelTing/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AnnabelTing/ip.git (master) completed! +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator analyzeRepos +INFO: [319/480] Analyzing https://github.com/timetraveller-123/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/timetraveller-123/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/timetraveller-123/ip.git (master)... -Sep 02, 2023 2:26:23 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wasjoe1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:23 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wasjoe1/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/suryanshkushwaha/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/zhanyang01/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wr1159/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Nauxe/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/yyyaohhh/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/zhanyang01/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/czhiruo/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/victorpengmx/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/longnguyentan/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/czhiruo/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/longnguyentan/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/victorpengmx/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:45 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Jweng88/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Jweng88/ip.git (master)... +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tjingsheng/ip.git completed! +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tohpinren/ip.git... +Sep 02, 2023 2:45:45 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tohpinren/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/MagnificentCreature/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/XihuaZ/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/XihuaZ/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/andrefoo/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/SungMatt/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xavierpok/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/bkjwjason/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/bkjwjason/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xavierpok/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/timetraveller-123/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/timetraveller-123/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/timetraveller-123/ip.git (master) completed! -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [317/480] Analyzing https://github.com/LicongHuang/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [320/480] Analyzing https://github.com/EricXiong420/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/EricXiong420/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/EricXiong420/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Jweng88/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Jweng88/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Jweng88/ip.git (master) completed! +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [321/480] Analyzing https://github.com/LicongHuang/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LicongHuang/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LicongHuang/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wasjoe1/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wasjoe1/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wasjoe1/ip.git (master) completed! -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [318/480] Analyzing https://github.com/AnnabelTing/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AnnabelTing/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AnnabelTing/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tohpinren/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Choonyan02/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Choonyan02/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/LicongHuang/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LicongHuang/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LicongHuang/ip.git (master) completed! -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [319/480] Analyzing https://github.com/ylyma/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ylyma/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ylyma/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AnnabelTing/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AnnabelTing/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AnnabelTing/ip.git (master) completed! -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator analyzeRepos -INFO: [320/480] Analyzing https://github.com/EricXiong420/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/EricXiong420/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:24 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/EricXiong420/ip.git (master)... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/longnguyentan/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/victorpengmx/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/czhiruo/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/zhanyang01/ip.git completed! -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Cikguseven/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Eola-Z/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jibtaf/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/lipwei1808/ip.git... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jibtaf/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Eola-Z/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Cikguseven/ip.git to complete... -Sep 02, 2023 2:26:24 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/lipwei1808/ip.git to complete... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ylyma/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ylyma/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ylyma/ip.git (master) completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [321/480] Analyzing https://github.com/Jweng88/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Jweng88/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Jweng88/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [322/480] Analyzing https://github.com/J-hta-n/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/J-hta-n/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/J-hta-n/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/EricXiong420/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/EricXiong420/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/EricXiong420/ip.git (master) completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [322/480] Analyzing https://github.com/bhnuka/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [323/480] Analyzing https://github.com/bhnuka/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/bhnuka/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/bhnuka/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Jweng88/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Jweng88/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Jweng88/ip.git (master) completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [323/480] Analyzing https://github.com/jovkusuma/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Cikguseven/ip.git completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jovkusuma/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jovkusuma/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Mohammed-Faizzzz/ip.git... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Eola-Z/ip.git completed! -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Mohammed-Faizzzz/ip.git to complete... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/lipwei1808/ip.git completed! -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/dylkaw/ip.git... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/dylkaw/ip.git to complete... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nikele2001/ip.git... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jibtaf/ip.git completed! -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nikele2001/ip.git to complete... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DeltonCheng/ip.git... -Sep 02, 2023 2:26:25 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DeltonCheng/ip.git to complete... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/bhnuka/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/bhnuka/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/bhnuka/ip.git (master) completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [324/480] Analyzing https://github.com/J-hta-n/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/J-hta-n/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/J-hta-n/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jovkusuma/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jovkusuma/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jovkusuma/ip.git (master) completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [325/480] Analyzing https://github.com/Tim-Siu/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Tim-Siu/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:25 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Tim-Siu/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/bkjwjason/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/XihuaZ/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/aarontxz/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jianyangg/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/aarontxz/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xavierpok/ip.git completed! +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jianyangg/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tayian/ip.git... +Sep 02, 2023 2:45:46 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tayian/ip.git to complete... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/J-hta-n/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/J-hta-n/ip.git (master)... -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/J-hta-n/ip.git (master) completed! -Sep 02, 2023 2:26:25 PM reposense.report.ReportGenerator analyzeRepos -INFO: [326/480] Analyzing https://github.com/sopa301/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sopa301/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sopa301/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DeltonCheng/ip.git completed! -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/dylkaw/ip.git completed! -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ChangruHenryQian/ip.git... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nikele2001/ip.git completed! -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/craigtonlian/ip.git... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ChangruHenryQian/ip.git to complete... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Mohammed-Faizzzz/ip.git completed! -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/craigtonlian/ip.git to complete... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/ruo-x/ip.git... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/iantsaii/ip.git... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/iantsaii/ip.git to complete... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/ruo-x/ip.git to complete... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator analyzeRepos +INFO: [324/480] Analyzing https://github.com/Tim-Siu/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Tim-Siu/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:46 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Tim-Siu/ip.git (master)... +Sep 02, 2023 2:45:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/bhnuka/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/bhnuka/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/bhnuka/ip.git (master) completed! +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [325/480] Analyzing https://github.com/jovkusuma/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Choonyan02/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wnchan/ip.git... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jovkusuma/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jovkusuma/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wnchan/ip.git to complete... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Tim-Siu/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Tim-Siu/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Tim-Siu/ip.git (master) completed! -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [327/480] Analyzing https://github.com/yarnmengnus/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [326/480] Analyzing https://github.com/ngeeyonglim/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jianyangg/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ngeeyonglim/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ngeeyonglim/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Jweewee/ip.git... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Jweewee/ip.git to complete... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/aarontxz/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/cyaoxuan/ip.git... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jovkusuma/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/cyaoxuan/ip.git to complete... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jovkusuma/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jovkusuma/ip.git (master) completed! +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [327/480] Analyzing https://github.com/flexibo/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/flexibo/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/flexibo/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tayian/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/anthonytamzil/ip.git... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/anthonytamzil/ip.git to complete... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wnchan/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/CelestineTan03/ip.git... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/CelestineTan03/ip.git to complete... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ngeeyonglim/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ngeeyonglim/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ngeeyonglim/ip.git (master) completed! +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [328/480] Analyzing https://github.com/sopa301/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/flexibo/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/flexibo/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/flexibo/ip.git (master) completed! +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sopa301/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sopa301/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator analyzeRepos +INFO: [329/480] Analyzing https://github.com/yarnmengnus/ip.git (master)... +Sep 02, 2023 2:45:47 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/yarnmengnus/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:47 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/yarnmengnus/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Jweewee/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/cyaoxuan/ip.git completed! +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/saltedfishxx/ip.git... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/saltedfishxx/ip.git to complete... +Sep 02, 2023 2:45:47 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/euchangxian/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/euchangxian/ip.git to complete... +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sopa301/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sopa301/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sopa301/ip.git (master) completed! -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [328/480] Analyzing https://github.com/ngeeyonglim/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ngeeyonglim/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ngeeyonglim/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [330/480] Analyzing https://github.com/ItsTYtan/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ItsTYtan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ItsTYtan/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/anthonytamzil/ip.git completed! +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AlagappanRa/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AlagappanRa/ip.git to complete... +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/yarnmengnus/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/yarnmengnus/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/yarnmengnus/ip.git (master) completed! -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [329/480] Analyzing https://github.com/ItsTYtan/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ItsTYtan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ItsTYtan/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ngeeyonglim/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ngeeyonglim/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ngeeyonglim/ip.git (master) completed! -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator analyzeRepos -INFO: [330/480] Analyzing https://github.com/flexibo/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/flexibo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:26 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/flexibo/ip.git (master)... -Sep 02, 2023 2:26:26 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ChangruHenryQian/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/iantsaii/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/craigtonlian/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/wjacobw/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/angkyakdifp/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/ruo-x/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/wjacobw/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/brein62/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/angkyakdifp/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nicrandomlee/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/brein62/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nicrandomlee/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [331/480] Analyzing https://github.com/Cleon2/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/CelestineTan03/ip.git completed! +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Cleon2/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Cleon2/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Ken-Lai/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Ken-Lai/ip.git to complete... +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ItsTYtan/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ItsTYtan/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ItsTYtan/ip.git (master) completed! -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [331/480] Analyzing https://github.com/javinchua/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/javinchua/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/javinchua/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/flexibo/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/flexibo/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/flexibo/ip.git (master) completed! -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepos INFO: [332/480] Analyzing https://github.com/amosting/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/amosting/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/amosting/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/saltedfishxx/ip.git completed! +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/felibunnyy/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/felibunnyy/ip.git to complete... +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Cleon2/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/euchangxian/ip.git completed! +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/itssisi/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/itssisi/ip.git to complete... +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Cleon2/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Cleon2/ip.git (master) completed! +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [333/480] Analyzing https://github.com/javinchua/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/javinchua/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/javinchua/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AlagappanRa/ip.git completed! +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jamz903/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jamz903/ip.git to complete... +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/amosting/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:48 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/amosting/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/amosting/ip.git (master) completed! -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [333/480] Analyzing https://github.com/ketweeen/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/brein62/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/wjacobw/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nicrandomlee/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Bryan-Goh/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/kiatkat/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ketweeen/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ketweeen/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/angkyakdifp/ip.git completed! -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Bryan-Goh/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/MadLamprey/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/xyT-T/ip.git... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/kiatkat/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/xyT-T/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/MadLamprey/ip.git to complete... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator analyzeRepos +INFO: [334/480] Analyzing https://github.com/sudarshan2401/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/sudarshan2401/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:48 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/sudarshan2401/ip.git (master)... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Ken-Lai/ip.git completed! +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Kevin-Liusx/ip.git... +Sep 02, 2023 2:45:48 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Kevin-Liusx/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/javinchua/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/javinchua/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/javinchua/ip.git (master) completed! -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [334/480] Analyzing https://github.com/Cleon2/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ketweeen/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ketweeen/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ketweeen/ip.git (master) completed! -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator analyzeRepos -INFO: [335/480] Analyzing https://github.com/sudarshan2401/ip.git (master)... -Sep 02, 2023 2:26:27 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Cleon2/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:27 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Cleon2/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/sudarshan2401/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/sudarshan2401/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Cleon2/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Cleon2/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Cleon2/ip.git (master) completed! -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [336/480] Analyzing https://github.com/wui-hong/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [335/480] Analyzing https://github.com/wui-hong/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/felibunnyy/ip.git completed! +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wui-hong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wui-hong/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Bryan-Goh/ip.git completed! -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/xyT-T/ip.git completed! -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/kiatkat/ip.git completed! -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jiakai-17/ip.git... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/MadLamprey/ip.git completed! -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nreHieW/ip.git... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jiakai-17/ip.git to complete... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/nathanielcalimag/ip.git... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Saezenn/ip.git... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nreHieW/ip.git to complete... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/nathanielcalimag/ip.git to complete... -Sep 02, 2023 2:26:28 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Saezenn/ip.git to complete... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Propene-Dan/ip.git... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Propene-Dan/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sudarshan2401/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sudarshan2401/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sudarshan2401/ip.git (master) completed! -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator analyzeRepos -INFO: [337/480] Analyzing https://github.com/Respirayson/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Respirayson/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Respirayson/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [336/480] Analyzing https://github.com/ketweeen/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/itssisi/ip.git completed! +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ChuanXinNg/ip.git... +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ketweeen/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ketweeen/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChuanXinNg/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wui-hong/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jamz903/ip.git completed! +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wui-hong/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wui-hong/ip.git (master) completed! -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [337/480] Analyzing https://github.com/Respirayson/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kenvynKwek/ip.git... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kenvynKwek/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Respirayson/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Respirayson/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ketweeen/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ketweeen/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ketweeen/ip.git (master) completed! +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepos INFO: [338/480] Analyzing https://github.com/Chrainx/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Chrainx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:28 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Chrainx/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Kevin-Liusx/ip.git completed! +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Ruizhi2001/ip.git... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Ruizhi2001/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Propene-Dan/ip.git completed! +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/prawnzyy/ip.git... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Chrainx/ip.git (master)... -Sep 02, 2023 2:26:28 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/prawnzyy/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Chrainx/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Chrainx/ip.git (master) completed! -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [339/480] Analyzing https://github.com/shishirbychapur/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [339/480] Analyzing https://github.com/sunzihan23/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChuanXinNg/ip.git completed! +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Respirayson/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nreHieW/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/jellywaiyan/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/shishirbychapur/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/shishirbychapur/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/jellywaiyan/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Respirayson/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Respirayson/ip.git (master) completed! -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [340/480] Analyzing https://github.com/sunzihan23/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jiakai-17/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Saezenn/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/marquestye/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Tang-Moyan/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Tang-Moyan/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/marquestye/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/nathanielcalimag/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/saraozn/ip.git... +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/sunzihan23/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:49 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/sunzihan23/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/DonovanJJ/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/DonovanJJ/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:49 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/saraozn/ip.git to complete... +Sep 02, 2023 2:45:49 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Respirayson/ip.git (master)... +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Respirayson/ip.git (master) completed! +Sep 02, 2023 2:45:49 PM reposense.report.ReportGenerator analyzeRepos +INFO: [340/480] Analyzing https://github.com/wj331/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wj331/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wj331/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kenvynKwek/ip.git completed! +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicholastng010601/ip.git... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicholastng010601/ip.git to complete... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/sunzihan23/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/sunzihan23/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/sunzihan23/ip.git (master) completed! -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [341/480] Analyzing https://github.com/wj331/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wj331/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wj331/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/shishirbychapur/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/shishirbychapur/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/shishirbychapur/ip.git (master) completed! -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [342/480] Analyzing https://github.com/tjch-o/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tjch-o/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:29 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tjch-o/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/jellywaiyan/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Sebtey/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Sebtey/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/marquestye/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Tang-Moyan/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/DonovanJJ/ip.git completed! -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/rionshocker/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/tyouwei/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/rionshocker/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/Blizzeracz/ip.git... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/tyouwei/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/Blizzeracz/ip.git to complete... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [341/480] Analyzing https://github.com/shishirbychapur/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/shishirbychapur/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/shishirbychapur/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wj331/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Ruizhi2001/ip.git completed! +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DistractedCat/ip.git... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wj331/ip.git (master)... -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wj331/ip.git (master) completed! -Sep 02, 2023 2:26:29 PM reposense.report.ReportGenerator analyzeRepos -INFO: [343/480] Analyzing https://github.com/licongshen12/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/licongshen12/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/licongshen12/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [342/480] Analyzing https://github.com/tjch-o/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DistractedCat/ip.git to complete... +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tjch-o/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tjch-o/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/prawnzyy/ip.git completed! +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yezkez10/ip.git... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/saraozn/ip.git completed! +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yezkez10/ip.git to complete... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/revdrag/ip.git... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/revdrag/ip.git to complete... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/shishirbychapur/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/shishirbychapur/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tjch-o/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/shishirbychapur/ip.git (master) completed! +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [343/480] Analyzing https://github.com/mamayuan/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tjch-o/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tjch-o/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [344/480] Analyzing https://github.com/mamayuan/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [344/480] Analyzing https://github.com/licongshen12/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mamayuan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mamayuan/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicholastng010601/ip.git completed! +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/alvinlim277/ip.git... +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/licongshen12/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/licongshen12/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/alvinlim277/ip.git to complete... +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mamayuan/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:50 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mamayuan/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mamayuan/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [345/480] Analyzing https://github.com/tanboonkhong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tanboonkhong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tanboonkhong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator analyzeRepos +INFO: [345/480] Analyzing https://github.com/ong-wei-hong/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ong-wei-hong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:50 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ong-wei-hong/ip.git (master)... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DistractedCat/ip.git completed! +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/JasonRay168/ip.git... +Sep 02, 2023 2:45:50 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/JasonRay168/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/licongshen12/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/revdrag/ip.git completed! +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/licongshen12/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/billieboy7/ip.git... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/licongshen12/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [346/480] Analyzing https://github.com/ong-wei-hong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ong-wei-hong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ong-wei-hong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Sebtey/ip.git completed! -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [346/480] Analyzing https://github.com/tanboonkhong/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/billieboy7/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yezkez10/ip.git completed! +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jannnice/ip.git... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jannnice/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tanboonkhong/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tanboonkhong/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ong-wei-hong/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ong-wei-hong/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ong-wei-hong/ip.git (master) completed! +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [347/480] Analyzing https://github.com/keaganpzh/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/keaganpzh/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/keaganpzh/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tanboonkhong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tanboonkhong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tanboonkhong/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [347/480] Analyzing https://github.com/cbj252/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/Blizzeracz/ip.git completed! -Sep 02, 2023 2:26:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/tyouwei/ip.git completed! -Sep 02, 2023 2:26:30 PM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/rionshocker/ip.git completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [348/480] Analyzing https://github.com/cbj252/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cbj252/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cbj252/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ong-wei-hong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ong-wei-hong/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ong-wei-hong/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [348/480] Analyzing https://github.com/AlfredBeNoel/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AlfredBeNoel/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AlfredBeNoel/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/alvinlim277/ip.git completed! +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/evanyan13/ip.git... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/evanyan13/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/JasonRay168/ip.git completed! +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/samuelim01/ip.git... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/samuelim01/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jannnice/ip.git completed! +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dinde2004/ip.git... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/billieboy7/ip.git completed! +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/seanpzk/ip.git... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dinde2004/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/seanpzk/ip.git to complete... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/keaganpzh/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/keaganpzh/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/cbj252/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/keaganpzh/ip.git (master) completed! +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [349/480] Analyzing https://github.com/AlfredBeNoel/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cbj252/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cbj252/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [349/480] Analyzing https://github.com/keaganpzh/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/keaganpzh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AlfredBeNoel/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AlfredBeNoel/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [350/480] Analyzing https://github.com/cmHuang777/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/cmHuang777/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/cmHuang777/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlfredBeNoel/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/keaganpzh/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:51 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlfredBeNoel/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlfredBeNoel/ip.git (master) completed! -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator analyzeRepos -INFO: [350/480] Analyzing https://github.com/ElginTZM/ip.git (master)... -Sep 02, 2023 2:26:30 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator analyzeRepos +INFO: [351/480] Analyzing https://github.com/ElginTZM/ip.git (master)... +Sep 02, 2023 2:45:51 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ElginTZM/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:30 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:51 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ElginTZM/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/keaganpzh/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ElginTZM/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/keaganpzh/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/keaganpzh/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [351/480] Analyzing https://github.com/LimJH2002/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ElginTZM/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/evanyan13/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/KumChaiYin/ip.git... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/KumChaiYin/ip.git to complete... +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/cmHuang777/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/cmHuang777/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/cmHuang777/ip.git (master) completed! +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [352/480] Analyzing https://github.com/LimJH2002/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/samuelim01/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lsyurea/ip.git... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lsyurea/ip.git to complete... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LimJH2002/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LimJH2002/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ElginTZM/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ElginTZM/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ElginTZM/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [352/480] Analyzing https://github.com/cmHuang777/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/cmHuang777/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/cmHuang777/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LimJH2002/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/LimJH2002/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/LimJH2002/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/seanpzk/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepos INFO: [353/480] Analyzing https://github.com/WeeeHung/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/cmHuang777/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dinde2004/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sasmik23/ip.git... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/geraldngjx/ip.git... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/WeeeHung/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/WeeeHung/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/cmHuang777/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/cmHuang777/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [354/480] Analyzing https://github.com/rayyan35p/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/rayyan35p/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/rayyan35p/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sasmik23/ip.git to complete... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/geraldngjx/ip.git to complete... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/KumChaiYin/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lululwtv/ip.git... +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/WeeeHung/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lululwtv/ip.git to complete... +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/WeeeHung/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/WeeeHung/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [355/480] Analyzing https://github.com/xxiaoweii/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [354/480] Analyzing https://github.com/xxiaoweii/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xxiaoweii/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xxiaoweii/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/rayyan35p/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/rayyan35p/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/rayyan35p/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [356/480] Analyzing https://github.com/dhruvir29/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LimJH2002/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/LimJH2002/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/LimJH2002/ip.git (master) completed! +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator analyzeRepos +INFO: [355/480] Analyzing https://github.com/dhruvir29/ip.git (master)... +Sep 02, 2023 2:45:52 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dhruvir29/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:52 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dhruvir29/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lsyurea/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/garylow2001/ip.git... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/garylow2001/ip.git to complete... +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sasmik23/ip.git completed! +Sep 02, 2023 2:45:52 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/leontan2/ip.git... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dhruvir29/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/leontan2/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dhruvir29/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dhruvir29/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [357/480] Analyzing https://github.com/jinyuan0425/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [356/480] Analyzing https://github.com/rayyan35p/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/geraldngjx/ip.git completed! +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wamps-jp/ip.git... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wamps-jp/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/rayyan35p/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/rayyan35p/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xxiaoweii/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jinyuan0425/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jinyuan0425/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xxiaoweii/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xxiaoweii/ip.git (master) completed! -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator analyzeRepos -INFO: [358/480] Analyzing https://github.com/LinWanLeii/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [357/480] Analyzing https://github.com/LinWanLeii/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/LinWanLeii/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:31 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/LinWanLeii/ip.git (master)... -Sep 02, 2023 2:26:31 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jinyuan0425/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jinyuan0425/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jinyuan0425/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [359/480] Analyzing https://github.com/Song-Mengfei/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/LinWanLeii/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/rayyan35p/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/rayyan35p/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/rayyan35p/ip.git (master) completed! +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [358/480] Analyzing https://github.com/Song-Mengfei/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Song-Mengfei/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Song-Mengfei/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lululwtv/ip.git completed! +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dickongwd/ip.git... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dickongwd/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/LinWanLeii/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/LinWanLeii/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/LinWanLeii/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [360/480] Analyzing https://github.com/tiif/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tiif/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tiif/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tiif/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [359/480] Analyzing https://github.com/nicholascher/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nicholascher/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nicholascher/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/leontan2/ip.git completed! +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/garylow2001/ip.git completed! +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Song-Mengfei/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wamps-jp/ip.git completed! +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jacksonyuan256/ip.git... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/suryanshkushwaha/ip.git... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/suryanshkushwaha/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jacksonyuan256/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Song-Mengfei/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Song-Mengfei/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [361/480] Analyzing https://github.com/hcs1203/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wr1159/ip.git... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [360/480] Analyzing https://github.com/jinyuan0425/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wr1159/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jinyuan0425/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jinyuan0425/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicholascher/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dickongwd/ip.git completed! +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Nauxe/ip.git... +Sep 02, 2023 2:45:53 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Nauxe/ip.git to complete... +Sep 02, 2023 2:45:53 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nicholascher/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nicholascher/ip.git (master) completed! +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator analyzeRepos +INFO: [361/480] Analyzing https://github.com/tiif/ip.git (master)... +Sep 02, 2023 2:45:53 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tiif/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:53 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tiif/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jinyuan0425/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jinyuan0425/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jinyuan0425/ip.git (master) completed! +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [362/480] Analyzing https://github.com/papataco14/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/papataco14/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/papataco14/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tiif/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tiif/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tiif/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [362/480] Analyzing https://github.com/nicholascher/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [363/480] Analyzing https://github.com/KamJiaYue/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/KamJiaYue/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/KamJiaYue/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jacksonyuan256/ip.git completed! +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/yyyaohhh/ip.git... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wr1159/ip.git completed! +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/yyyaohhh/ip.git to complete... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/zhanyang01/ip.git... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/suryanshkushwaha/ip.git completed! +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/zhanyang01/ip.git to complete... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/czhiruo/ip.git... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/papataco14/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/czhiruo/ip.git to complete... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/papataco14/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/papataco14/ip.git (master) completed! +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [364/480] Analyzing https://github.com/hcs1203/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/hcs1203/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/hcs1203/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nicholascher/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nicholascher/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/hcs1203/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Nauxe/ip.git completed! +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/victorpengmx/ip.git... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/victorpengmx/ip.git to complete... +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/hcs1203/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/hcs1203/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [363/480] Analyzing https://github.com/papataco14/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/papataco14/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/papataco14/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/papataco14/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/papataco14/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/papataco14/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos -INFO: [364/480] Analyzing https://github.com/KamJiaYue/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicholascher/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/KamJiaYue/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/KamJiaYue/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nicholascher/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nicholascher/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepos INFO: [365/480] Analyzing https://github.com/NereusWB922/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/NereusWB922/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/NereusWB922/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KamJiaYue/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KamJiaYue/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KamJiaYue/ip.git (master) completed! -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepos INFO: [366/480] Analyzing https://github.com/PohSayKeong/ip.git (master)... -Sep 02, 2023 2:26:32 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/PohSayKeong/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:32 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/PohSayKeong/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/NereusWB922/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/NereusWB922/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/NereusWB922/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [367/480] Analyzing https://github.com/ivyy-poison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/PohSayKeong/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ivyy-poison/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ivyy-poison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:54 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/PohSayKeong/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/PohSayKeong/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [368/480] Analyzing https://github.com/jacobcuison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator analyzeRepos +INFO: [367/480] Analyzing https://github.com/jacobcuison/ip.git (master)... +Sep 02, 2023 2:45:54 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/jacobcuison/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:54 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/jacobcuison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ivyy-poison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ivyy-poison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ivyy-poison/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [369/480] Analyzing https://github.com/kohkaijie/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/kohkaijie/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/kohkaijie/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/zhanyang01/ip.git completed! +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/longnguyentan/ip.git... +Sep 02, 2023 2:45:54 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/yyyaohhh/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/longnguyentan/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Cikguseven/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Cikguseven/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/czhiruo/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Eola-Z/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Eola-Z/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/victorpengmx/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jibtaf/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jibtaf/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/NereusWB922/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/NereusWB922/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/NereusWB922/ip.git (master) completed! +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [368/480] Analyzing https://github.com/ivyy-poison/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ivyy-poison/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ivyy-poison/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jacobcuison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jacobcuison/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jacobcuison/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [370/480] Analyzing https://github.com/ji-just-ji/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [369/480] Analyzing https://github.com/ji-just-ji/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ivyy-poison/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ji-just-ji/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ji-just-ji/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/kohkaijie/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/kohkaijie/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/kohkaijie/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [371/480] Analyzing https://github.com/rocketninja7/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ivyy-poison/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ivyy-poison/ip.git (master) completed! +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [370/480] Analyzing https://github.com/rocketninja7/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/rocketninja7/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/rocketninja7/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ji-just-ji/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ji-just-ji/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ji-just-ji/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [372/480] Analyzing https://github.com/zekone/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zekone/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zekone/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/longnguyentan/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/lipwei1808/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/lipwei1808/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rocketninja7/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Cikguseven/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Mohammed-Faizzzz/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Eola-Z/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Mohammed-Faizzzz/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rocketninja7/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rocketninja7/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos -INFO: [373/480] Analyzing https://github.com/markgcera/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [371/480] Analyzing https://github.com/kohkaijie/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/dylkaw/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/dylkaw/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ji-just-ji/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jibtaf/ip.git completed! +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/kohkaijie/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/kohkaijie/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nikele2001/ip.git... +Sep 02, 2023 2:45:55 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nikele2001/ip.git to complete... +Sep 02, 2023 2:45:55 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ji-just-ji/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ji-just-ji/ip.git (master) completed! +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator analyzeRepos +INFO: [372/480] Analyzing https://github.com/markgcera/ip.git (master)... +Sep 02, 2023 2:45:55 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/markgcera/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:33 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:55 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/markgcera/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/kohkaijie/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/kohkaijie/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/kohkaijie/ip.git (master) completed! +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [373/480] Analyzing https://github.com/zekone/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/markgcera/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zekone/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zekone/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/markgcera/ip.git (master)... -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/markgcera/ip.git (master) completed! -Sep 02, 2023 2:26:33 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [374/480] Analyzing https://github.com/PearlynnT/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/PearlynnT/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/PearlynnT/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/lipwei1808/ip.git completed! +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DeltonCheng/ip.git... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DeltonCheng/ip.git to complete... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Mohammed-Faizzzz/ip.git completed! +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ChangruHenryQian/ip.git... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ChangruHenryQian/ip.git to complete... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nikele2001/ip.git completed! +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/craigtonlian/ip.git... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/dylkaw/ip.git completed! +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/ruo-x/ip.git... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/PearlynnT/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/craigtonlian/ip.git to complete... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/ruo-x/ip.git to complete... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zekone/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/PearlynnT/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/PearlynnT/ip.git (master) completed! +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [375/480] Analyzing https://github.com/TeeRenJing/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zekone/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zekone/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [375/480] Analyzing https://github.com/TeeRenJing/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepos +INFO: [376/480] Analyzing https://github.com/StevenLiudw/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TeeRenJing/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TeeRenJing/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/PearlynnT/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/PearlynnT/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/PearlynnT/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [376/480] Analyzing https://github.com/StevenLiudw/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/TeeRenJing/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/StevenLiudw/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/StevenLiudw/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/TeeRenJing/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TeeRenJing/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TeeRenJing/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [377/480] Analyzing https://github.com/mounilsankar/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/StevenLiudw/ip.git (master)... +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/mounilsankar/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/mounilsankar/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/StevenLiudw/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:56 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/StevenLiudw/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/StevenLiudw/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator analyzeRepos INFO: [378/480] Analyzing https://github.com/dloh2236/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DeltonCheng/ip.git completed! +Sep 02, 2023 2:45:56 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/dloh2236/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:56 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/dloh2236/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/iantsaii/ip.git... +Sep 02, 2023 2:45:56 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/iantsaii/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/craigtonlian/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/wjacobw/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ruo-x/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/wjacobw/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/angkyakdifp/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/ChangruHenryQian/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/angkyakdifp/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/brein62/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/brein62/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/mounilsankar/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dloh2236/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/mounilsankar/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/mounilsankar/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [379/480] Analyzing https://github.com/zannloo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zannloo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zannloo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dloh2236/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [379/480] Analyzing https://github.com/junnengsoo/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dloh2236/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dloh2236/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [380/480] Analyzing https://github.com/junnengsoo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [380/480] Analyzing https://github.com/zannloo/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/junnengsoo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/junnengsoo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zannloo/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zannloo/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/iantsaii/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nicrandomlee/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nicrandomlee/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/junnengsoo/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/junnengsoo/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/junnengsoo/ip.git (master) completed! +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [381/480] Analyzing https://github.com/freshcabbage123/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/freshcabbage123/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/freshcabbage123/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/zannloo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/wjacobw/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Bryan-Goh/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Bryan-Goh/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/zannloo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/zannloo/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [381/480] Analyzing https://github.com/Kokseng1/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator analyzeRepos +INFO: [382/480] Analyzing https://github.com/Kokseng1/ip.git (master)... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/angkyakdifp/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/brein62/ip.git completed! +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/kiatkat/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/MadLamprey/ip.git... +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/kiatkat/ip.git to complete... +Sep 02, 2023 2:45:57 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Kokseng1/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:34 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:57 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Kokseng1/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:57 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/MadLamprey/ip.git to complete... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Kokseng1/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/junnengsoo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/freshcabbage123/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Kokseng1/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Kokseng1/ip.git (master) completed! -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepos -INFO: [382/480] Analyzing https://github.com/freshcabbage123/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/junnengsoo/ip.git (master)... -Sep 02, 2023 2:26:34 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/junnengsoo/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/freshcabbage123/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/freshcabbage123/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos INFO: [383/480] Analyzing https://github.com/itsNatTan/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/itsNatTan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/itsNatTan/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/freshcabbage123/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/freshcabbage123/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/freshcabbage123/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [384/480] Analyzing https://github.com/tjingsheng/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/itsNatTan/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tjingsheng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tjingsheng/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/itsNatTan/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/itsNatTan/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [385/480] Analyzing https://github.com/ZD292/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/freshcabbage123/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/freshcabbage123/ip.git (master) completed! +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [384/480] Analyzing https://github.com/ZD292/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/itsNatTan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/itsNatTan/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/ZD292/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/ZD292/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tjingsheng/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tjingsheng/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tjingsheng/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [386/480] Analyzing https://github.com/alientian/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nicrandomlee/ip.git completed! +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/xyT-T/ip.git... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/xyT-T/ip.git to complete... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ZD292/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/alientian/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/alientian/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ZD292/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ZD292/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [387/480] Analyzing https://github.com/frrrrry/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [385/480] Analyzing https://github.com/alientian/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/alientian/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/alientian/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/itsNatTan/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/itsNatTan/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/itsNatTan/ip.git (master) completed! +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [386/480] Analyzing https://github.com/frrrrry/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/frrrrry/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/frrrrry/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Bryan-Goh/ip.git completed! +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jiakai-17/ip.git... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jiakai-17/ip.git to complete... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/MadLamprey/ip.git completed! +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nreHieW/ip.git... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/kiatkat/ip.git completed! +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nreHieW/ip.git to complete... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/nathanielcalimag/ip.git... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/nathanielcalimag/ip.git to complete... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alientian/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alientian/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alientian/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [388/480] Analyzing https://github.com/wanghejin/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [387/480] Analyzing https://github.com/wanghejin/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wanghejin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wanghejin/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/frrrrry/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/frrrrry/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/frrrrry/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos -INFO: [389/480] Analyzing https://github.com/MagnificentCreature/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/MagnificentCreature/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/MagnificentCreature/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [388/480] Analyzing https://github.com/tjingsheng/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tjingsheng/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tjingsheng/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/xyT-T/ip.git completed! +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Saezenn/ip.git... +Sep 02, 2023 2:45:58 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Saezenn/ip.git to complete... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wanghejin/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tjingsheng/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tjingsheng/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tjingsheng/ip.git (master) completed! +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos +INFO: [389/480] Analyzing https://github.com/MagnificentCreature/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wanghejin/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wanghejin/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator analyzeRepos INFO: [390/480] Analyzing https://github.com/SungMatt/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/MagnificentCreature/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/MagnificentCreature/ip.git (master)... +Sep 02, 2023 2:45:58 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/SungMatt/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:58 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/SungMatt/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jiakai-17/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/jellywaiyan/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/jellywaiyan/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nreHieW/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/nathanielcalimag/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/marquestye/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Tang-Moyan/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/marquestye/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Tang-Moyan/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/SungMatt/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/SungMatt/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/SungMatt/ip.git (master) completed! -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepos INFO: [391/480] Analyzing https://github.com/andrefoo/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/andrefoo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:35 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/andrefoo/ip.git (master)... -Sep 02, 2023 2:26:35 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/MagnificentCreature/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/MagnificentCreature/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/MagnificentCreature/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [392/480] Analyzing https://github.com/tohpinren/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tohpinren/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tohpinren/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/andrefoo/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/andrefoo/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/andrefoo/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [393/480] Analyzing https://github.com/XihuaZ/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/XihuaZ/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/XihuaZ/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [392/480] Analyzing https://github.com/tohpinren/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Saezenn/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/DonovanJJ/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/DonovanJJ/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tohpinren/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tohpinren/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/MagnificentCreature/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/MagnificentCreature/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/MagnificentCreature/ip.git (master) completed! +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [393/480] Analyzing https://github.com/bkjwjason/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/bkjwjason/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/bkjwjason/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tohpinren/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tohpinren/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tohpinren/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [394/480] Analyzing https://github.com/xavierpok/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [394/480] Analyzing https://github.com/XihuaZ/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/marquestye/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/bkjwjason/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Tang-Moyan/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Sebtey/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Sebtey/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/rionshocker/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/XihuaZ/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:45:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/XihuaZ/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/bkjwjason/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/bkjwjason/ip.git (master) completed! +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator analyzeRepos +INFO: [395/480] Analyzing https://github.com/xavierpok/ip.git (master)... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/rionshocker/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/jellywaiyan/ip.git completed! +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/tyouwei/ip.git... +Sep 02, 2023 2:45:59 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/tyouwei/ip.git to complete... +Sep 02, 2023 2:45:59 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/xavierpok/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:45:59 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/xavierpok/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/DonovanJJ/ip.git completed! +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/Blizzeracz/ip.git... +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/Blizzeracz/ip.git to complete... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/XihuaZ/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/XihuaZ/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/XihuaZ/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [395/480] Analyzing https://github.com/bkjwjason/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/bkjwjason/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/bkjwjason/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/bkjwjason/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/bkjwjason/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/bkjwjason/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos INFO: [396/480] Analyzing https://github.com/Choonyan02/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Choonyan02/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Choonyan02/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/xavierpok/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Sebtey/ip.git completed! +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/rionshocker/ip.git completed! +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/xavierpok/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/tyouwei/ip.git completed! +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/xavierpok/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [397/480] Analyzing https://github.com/aarontxz/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [397/480] Analyzing https://github.com/jianyangg/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jianyangg/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jianyangg/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Choonyan02/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/aarontxz/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/aarontxz/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Choonyan02/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Choonyan02/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [398/480] Analyzing https://github.com/jianyangg/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jianyangg/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jianyangg/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [398/480] Analyzing https://github.com/aarontxz/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/aarontxz/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/aarontxz/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/aarontxz/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/aarontxz/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/aarontxz/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [399/480] Analyzing https://github.com/wnchan/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/wnchan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/wnchan/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/wnchan/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/wnchan/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/wnchan/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [400/480] Analyzing https://github.com/tayian/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [399/480] Analyzing https://github.com/tayian/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/tayian/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/tayian/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jianyangg/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jianyangg/ip.git (master)... -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jianyangg/ip.git (master) completed! -Sep 02, 2023 2:26:36 PM reposense.report.ReportGenerator analyzeRepos -INFO: [401/480] Analyzing https://github.com/Jweewee/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Jweewee/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Jweewee/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [400/480] Analyzing https://github.com/wnchan/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/wnchan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/wnchan/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/tayian/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/Blizzeracz/ip.git completed! +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/tayian/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/tayian/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [401/480] Analyzing https://github.com/Jweewee/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/wnchan/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/wnchan/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/wnchan/ip.git (master) completed! +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos INFO: [402/480] Analyzing https://github.com/cyaoxuan/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Jweewee/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Jweewee/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Jweewee/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/cyaoxuan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/cyaoxuan/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Jweewee/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Jweewee/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Jweewee/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [403/480] Analyzing https://github.com/CelestineTan03/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/CelestineTan03/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/CelestineTan03/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [403/480] Analyzing https://github.com/anthonytamzil/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/anthonytamzil/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/anthonytamzil/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/cyaoxuan/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:00 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/cyaoxuan/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/cyaoxuan/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [404/480] Analyzing https://github.com/anthonytamzil/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/anthonytamzil/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/anthonytamzil/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator analyzeRepos +INFO: [404/480] Analyzing https://github.com/CelestineTan03/ip.git (master)... +Sep 02, 2023 2:46:00 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/CelestineTan03/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:00 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/CelestineTan03/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/anthonytamzil/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CelestineTan03/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/anthonytamzil/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/anthonytamzil/ip.git (master) completed! +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CelestineTan03/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CelestineTan03/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [405/480] Analyzing https://github.com/saltedfishxx/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [406/480] Analyzing https://github.com/euchangxian/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/saltedfishxx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/saltedfishxx/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/anthonytamzil/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/anthonytamzil/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/anthonytamzil/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/saltedfishxx/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [406/480] Analyzing https://github.com/euchangxian/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/euchangxian/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/euchangxian/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/saltedfishxx/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/saltedfishxx/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/saltedfishxx/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [407/480] Analyzing https://github.com/Ken-Lai/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Ken-Lai/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Ken-Lai/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Ken-Lai/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Ken-Lai/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Ken-Lai/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [408/480] Analyzing https://github.com/AlagappanRa/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [407/480] Analyzing https://github.com/AlagappanRa/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AlagappanRa/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AlagappanRa/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/euchangxian/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/euchangxian/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/euchangxian/ip.git (master) completed! +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [408/480] Analyzing https://github.com/Ken-Lai/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Ken-Lai/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Ken-Lai/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AlagappanRa/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AlagappanRa/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AlagappanRa/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [409/480] Analyzing https://github.com/felibunnyy/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/euchangxian/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/felibunnyy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/felibunnyy/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/euchangxian/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/felibunnyy/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/euchangxian/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos -INFO: [410/480] Analyzing https://github.com/Kevin-Liusx/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Ken-Lai/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/felibunnyy/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/felibunnyy/ip.git (master) completed! -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [410/480] Analyzing https://github.com/itssisi/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Ken-Lai/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Ken-Lai/ip.git (master) completed! +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [411/480] Analyzing https://github.com/jamz903/ip.git (master)... -Sep 02, 2023 2:26:37 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Kevin-Liusx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:37 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Kevin-Liusx/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jamz903/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jamz903/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Kevin-Liusx/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Kevin-Liusx/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Kevin-Liusx/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [412/480] Analyzing https://github.com/itssisi/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/itssisi/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/itssisi/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jamz903/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jamz903/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/itssisi/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/itssisi/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/itssisi/ip.git (master) completed! +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jamz903/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [412/480] Analyzing https://github.com/Kevin-Liusx/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jamz903/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jamz903/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Kevin-Liusx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Kevin-Liusx/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [413/480] Analyzing https://github.com/Propene-Dan/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Propene-Dan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Propene-Dan/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Propene-Dan/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Kevin-Liusx/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Propene-Dan/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Propene-Dan/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [414/480] Analyzing https://github.com/Ruizhi2001/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/itssisi/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Ruizhi2001/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Ruizhi2001/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/itssisi/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/itssisi/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos +INFO: [414/480] Analyzing https://github.com/ChuanXinNg/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Kevin-Liusx/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Kevin-Liusx/ip.git (master) completed! +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator analyzeRepos INFO: [415/480] Analyzing https://github.com/kenvynKwek/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ChuanXinNg/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ChuanXinNg/ip.git (master)... +Sep 02, 2023 2:46:01 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kenvynKwek/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:01 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kenvynKwek/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:01 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kenvynKwek/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kenvynKwek/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Ruizhi2001/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kenvynKwek/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [416/480] Analyzing https://github.com/ChuanXinNg/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Ruizhi2001/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Ruizhi2001/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [417/480] Analyzing https://github.com/prawnzyy/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ChuanXinNg/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ChuanXinNg/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/prawnzyy/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/prawnzyy/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [416/480] Analyzing https://github.com/Ruizhi2001/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Ruizhi2001/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Ruizhi2001/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/ChuanXinNg/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/ChuanXinNg/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/ChuanXinNg/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [418/480] Analyzing https://github.com/DistractedCat/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/prawnzyy/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/DistractedCat/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/DistractedCat/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/prawnzyy/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/prawnzyy/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [419/480] Analyzing https://github.com/saraozn/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [417/480] Analyzing https://github.com/prawnzyy/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/prawnzyy/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/prawnzyy/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Ruizhi2001/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Ruizhi2001/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Ruizhi2001/ip.git (master) completed! +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [418/480] Analyzing https://github.com/saraozn/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/saraozn/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/saraozn/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/saraozn/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/saraozn/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/saraozn/ip.git (master) completed! -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator analyzeRepos -INFO: [420/480] Analyzing https://github.com/nicholastng010601/ip.git (master)... -Sep 02, 2023 2:26:38 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [419/480] Analyzing https://github.com/nicholastng010601/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicholastng010601/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicholastng010601/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/prawnzyy/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/prawnzyy/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/prawnzyy/ip.git (master) completed! +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [420/480] Analyzing https://github.com/DistractedCat/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/DistractedCat/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/DistractedCat/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicholastng010601/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nicholastng010601/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nicholastng010601/ip.git (master) completed! +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [421/480] Analyzing https://github.com/revdrag/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/revdrag/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/revdrag/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/DistractedCat/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/DistractedCat/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/DistractedCat/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [421/480] Analyzing https://github.com/alvinlim277/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [422/480] Analyzing https://github.com/yezkez10/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yezkez10/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yezkez10/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/revdrag/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/revdrag/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/revdrag/ip.git (master) completed! +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [423/480] Analyzing https://github.com/alvinlim277/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/alvinlim277/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/alvinlim277/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicholastng010601/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nicholastng010601/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nicholastng010601/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [422/480] Analyzing https://github.com/JasonRay168/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yezkez10/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yezkez10/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yezkez10/ip.git (master) completed! +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator analyzeRepos +INFO: [424/480] Analyzing https://github.com/JasonRay168/ip.git (master)... +Sep 02, 2023 2:46:02 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/JasonRay168/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:02 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/JasonRay168/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/alvinlim277/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/alvinlim277/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/alvinlim277/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [423/480] Analyzing https://github.com/yezkez10/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yezkez10/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yezkez10/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [425/480] Analyzing https://github.com/jannnice/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jannnice/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jannnice/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/JasonRay168/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/JasonRay168/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/JasonRay168/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [424/480] Analyzing https://github.com/revdrag/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/revdrag/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/revdrag/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yezkez10/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yezkez10/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yezkez10/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [425/480] Analyzing https://github.com/billieboy7/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [426/480] Analyzing https://github.com/billieboy7/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/billieboy7/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/billieboy7/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/revdrag/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/revdrag/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/revdrag/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [426/480] Analyzing https://github.com/samuelim01/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/samuelim01/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/samuelim01/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/billieboy7/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/billieboy7/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/billieboy7/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jannnice/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jannnice/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jannnice/ip.git (master) completed! +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos INFO: [427/480] Analyzing https://github.com/evanyan13/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/evanyan13/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/evanyan13/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/samuelim01/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/samuelim01/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/samuelim01/ip.git (master) completed! -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator analyzeRepos -INFO: [428/480] Analyzing https://github.com/jannnice/ip.git (master)... -Sep 02, 2023 2:26:39 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jannnice/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jannnice/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/billieboy7/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/billieboy7/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/billieboy7/ip.git (master) completed! +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [428/480] Analyzing https://github.com/samuelim01/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/samuelim01/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/samuelim01/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/evanyan13/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/evanyan13/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/evanyan13/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [429/480] Analyzing https://github.com/dinde2004/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dinde2004/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dinde2004/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jannnice/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jannnice/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jannnice/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [430/480] Analyzing https://github.com/seanpzk/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [429/480] Analyzing https://github.com/seanpzk/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/seanpzk/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/seanpzk/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/samuelim01/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/samuelim01/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/samuelim01/ip.git (master) completed! +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [430/480] Analyzing https://github.com/dinde2004/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dinde2004/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dinde2004/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/seanpzk/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/seanpzk/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/seanpzk/ip.git (master) completed! +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [431/480] Analyzing https://github.com/KumChaiYin/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dinde2004/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dinde2004/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dinde2004/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [431/480] Analyzing https://github.com/lsyurea/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/KumChaiYin/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/KumChaiYin/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [432/480] Analyzing https://github.com/lsyurea/ip.git (master)... +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lsyurea/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lsyurea/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/seanpzk/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/seanpzk/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/seanpzk/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [432/480] Analyzing https://github.com/KumChaiYin/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/lsyurea/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/KumChaiYin/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/KumChaiYin/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lsyurea/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lsyurea/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos INFO: [433/480] Analyzing https://github.com/Sasmik23/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Sasmik23/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:03 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Sasmik23/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/Sasmik23/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/Sasmik23/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/Sasmik23/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos -INFO: [434/480] Analyzing https://github.com/geraldngjx/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/geraldngjx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/geraldngjx/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/KumChaiYin/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:03 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/KumChaiYin/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/KumChaiYin/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:03 PM reposense.report.ReportGenerator analyzeRepos +INFO: [434/480] Analyzing https://github.com/geraldngjx/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/geraldngjx/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/geraldngjx/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/Sasmik23/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/Sasmik23/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/Sasmik23/ip.git (master) completed! +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [435/480] Analyzing https://github.com/lululwtv/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/lululwtv/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/lululwtv/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/geraldngjx/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/geraldngjx/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/geraldngjx/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [436/480] Analyzing https://github.com/garylow2001/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lululwtv/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/garylow2001/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/garylow2001/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lululwtv/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/lululwtv/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/lululwtv/ip.git (master) completed! -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos INFO: [437/480] Analyzing https://github.com/leontan2/ip.git (master)... -Sep 02, 2023 2:26:40 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/leontan2/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/leontan2/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/garylow2001/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/garylow2001/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/garylow2001/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [438/480] Analyzing https://github.com/jacksonyuan256/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jacksonyuan256/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jacksonyuan256/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/leontan2/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/leontan2/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/leontan2/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [439/480] Analyzing https://github.com/dickongwd/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dickongwd/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dickongwd/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jacksonyuan256/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jacksonyuan256/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jacksonyuan256/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [440/480] Analyzing https://github.com/wamps-jp/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [438/480] Analyzing https://github.com/wamps-jp/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wamps-jp/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wamps-jp/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wamps-jp/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wamps-jp/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wamps-jp/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [441/480] Analyzing https://github.com/suryanshkushwaha/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/suryanshkushwaha/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/suryanshkushwaha/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [439/480] Analyzing https://github.com/dickongwd/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dickongwd/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dickongwd/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/leontan2/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/leontan2/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/leontan2/ip.git (master) completed! +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [440/480] Analyzing https://github.com/jacksonyuan256/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jacksonyuan256/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jacksonyuan256/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/dickongwd/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/dickongwd/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/dickongwd/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [442/480] Analyzing https://github.com/wr1159/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/suryanshkushwaha/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jacksonyuan256/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [441/480] Analyzing https://github.com/wr1159/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jacksonyuan256/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jacksonyuan256/ip.git (master) completed! +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [442/480] Analyzing https://github.com/suryanshkushwaha/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wr1159/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wr1159/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/suryanshkushwaha/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/suryanshkushwaha/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/suryanshkushwaha/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/suryanshkushwaha/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/suryanshkushwaha/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [443/480] Analyzing https://github.com/yyyaohhh/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/yyyaohhh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/yyyaohhh/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/yyyaohhh/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/yyyaohhh/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/yyyaohhh/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [444/480] Analyzing https://github.com/Nauxe/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [443/480] Analyzing https://github.com/Nauxe/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Nauxe/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Nauxe/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wr1159/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wr1159/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wr1159/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [445/480] Analyzing https://github.com/longnguyentan/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/longnguyentan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/longnguyentan/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [444/480] Analyzing https://github.com/zhanyang01/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/zhanyang01/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/zhanyang01/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Nauxe/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:04 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Nauxe/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Nauxe/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator analyzeRepos +INFO: [445/480] Analyzing https://github.com/yyyaohhh/ip.git (master)... +Sep 02, 2023 2:46:04 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/yyyaohhh/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:04 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/yyyaohhh/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/yyyaohhh/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/yyyaohhh/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/yyyaohhh/ip.git (master) completed! +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos INFO: [446/480] Analyzing https://github.com/czhiruo/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/czhiruo/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/czhiruo/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/longnguyentan/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/longnguyentan/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/longnguyentan/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/zhanyang01/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/zhanyang01/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/zhanyang01/ip.git (master) completed! +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos INFO: [447/480] Analyzing https://github.com/victorpengmx/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/czhiruo/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/victorpengmx/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/victorpengmx/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/czhiruo/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/czhiruo/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/czhiruo/ip.git (master) completed! -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator analyzeRepos -INFO: [448/480] Analyzing https://github.com/zhanyang01/ip.git (master)... -Sep 02, 2023 2:26:41 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/zhanyang01/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/zhanyang01/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/zhanyang01/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [448/480] Analyzing https://github.com/longnguyentan/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/longnguyentan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/longnguyentan/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/victorpengmx/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/zhanyang01/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/zhanyang01/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/victorpengmx/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [449/480] Analyzing https://github.com/Cikguseven/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/victorpengmx/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [450/480] Analyzing https://github.com/Eola-Z/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [449/480] Analyzing https://github.com/Cikguseven/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Cikguseven/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Cikguseven/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/longnguyentan/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/longnguyentan/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/longnguyentan/ip.git (master) completed! +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [450/480] Analyzing https://github.com/Eola-Z/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Eola-Z/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Eola-Z/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Eola-Z/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Eola-Z/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Eola-Z/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [451/480] Analyzing https://github.com/lipwei1808/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/lipwei1808/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/lipwei1808/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [451/480] Analyzing https://github.com/jibtaf/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jibtaf/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jibtaf/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Cikguseven/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Cikguseven/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Cikguseven/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [452/480] Analyzing https://github.com/jibtaf/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jibtaf/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jibtaf/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/lipwei1808/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [452/480] Analyzing https://github.com/lipwei1808/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/lipwei1808/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/lipwei1808/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/jibtaf/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/lipwei1808/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/lipwei1808/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [453/480] Analyzing https://github.com/DeltonCheng/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:05 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/jibtaf/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/jibtaf/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [454/480] Analyzing https://github.com/dylkaw/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/DeltonCheng/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/DeltonCheng/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/dylkaw/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/dylkaw/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/DeltonCheng/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/DeltonCheng/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/DeltonCheng/ip.git (master) completed! -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator analyzeRepos -INFO: [455/480] Analyzing https://github.com/nikele2001/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nikele2001/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:42 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nikele2001/ip.git (master)... -Sep 02, 2023 2:26:42 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/dylkaw/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/dylkaw/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/dylkaw/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [456/480] Analyzing https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator analyzeRepos +INFO: [453/480] Analyzing https://github.com/Mohammed-Faizzzz/ip.git (master)... +Sep 02, 2023 2:46:05 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Mohammed-Faizzzz/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:05 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Mohammed-Faizzzz/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Mohammed-Faizzzz/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [457/480] Analyzing https://github.com/iantsaii/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/iantsaii/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/iantsaii/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [454/480] Analyzing https://github.com/nikele2001/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nikele2001/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nikele2001/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/lipwei1808/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/lipwei1808/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/lipwei1808/ip.git (master) completed! +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [455/480] Analyzing https://github.com/dylkaw/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/dylkaw/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/dylkaw/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/dylkaw/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/dylkaw/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/dylkaw/ip.git (master) completed! +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [456/480] Analyzing https://github.com/DeltonCheng/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/DeltonCheng/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/DeltonCheng/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nikele2001/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nikele2001/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nikele2001/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [458/480] Analyzing https://github.com/ChangruHenryQian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ChangruHenryQian/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ChangruHenryQian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ChangruHenryQian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ChangruHenryQian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ChangruHenryQian/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [459/480] Analyzing https://github.com/ruo-x/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/ruo-x/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/ruo-x/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/iantsaii/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/iantsaii/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/iantsaii/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [460/480] Analyzing https://github.com/craigtonlian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [457/480] Analyzing https://github.com/craigtonlian/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/craigtonlian/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/craigtonlian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/ruo-x/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/ruo-x/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/ruo-x/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [461/480] Analyzing https://github.com/brein62/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/brein62/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/brein62/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/DeltonCheng/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/DeltonCheng/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/DeltonCheng/ip.git (master) completed! +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [458/480] Analyzing https://github.com/ruo-x/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ruo-x/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ruo-x/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/craigtonlian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/craigtonlian/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ruo-x/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/craigtonlian/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [462/480] Analyzing https://github.com/wjacobw/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [459/480] Analyzing https://github.com/ChangruHenryQian/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ruo-x/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ruo-x/ip.git (master) completed! +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [460/480] Analyzing https://github.com/iantsaii/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/iantsaii/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/iantsaii/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/ChangruHenryQian/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/ChangruHenryQian/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/ChangruHenryQian/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/ChangruHenryQian/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/ChangruHenryQian/ip.git (master) completed! +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator analyzeRepos +INFO: [461/480] Analyzing https://github.com/wjacobw/ip.git (master)... +Sep 02, 2023 2:46:06 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/wjacobw/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:06 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/wjacobw/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/wjacobw/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/iantsaii/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/wjacobw/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/wjacobw/ip.git (master) completed! -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator analyzeRepos -INFO: [463/480] Analyzing https://github.com/nicrandomlee/ip.git (master)... -Sep 02, 2023 2:26:43 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [462/480] Analyzing https://github.com/angkyakdifp/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/iantsaii/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/iantsaii/ip.git (master) completed! +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [463/480] Analyzing https://github.com/brein62/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/angkyakdifp/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/angkyakdifp/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/brein62/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/brein62/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/angkyakdifp/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/angkyakdifp/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/angkyakdifp/ip.git (master) completed! +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [464/480] Analyzing https://github.com/nicrandomlee/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nicrandomlee/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:43 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nicrandomlee/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/brein62/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/brein62/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/brein62/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [464/480] Analyzing https://github.com/angkyakdifp/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/angkyakdifp/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/angkyakdifp/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/nicrandomlee/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/nicrandomlee/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/nicrandomlee/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos INFO: [465/480] Analyzing https://github.com/Bryan-Goh/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/nicrandomlee/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Bryan-Goh/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Bryan-Goh/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/angkyakdifp/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/angkyakdifp/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/angkyakdifp/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [466/480] Analyzing https://github.com/xyT-T/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/xyT-T/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/xyT-T/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/nicrandomlee/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/nicrandomlee/ip.git (master) completed! +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [466/480] Analyzing https://github.com/MadLamprey/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/MadLamprey/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/MadLamprey/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Bryan-Goh/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/xyT-T/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/xyT-T/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/xyT-T/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Bryan-Goh/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Bryan-Goh/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [467/480] Analyzing https://github.com/MadLamprey/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [468/480] Analyzing https://github.com/kiatkat/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/MadLamprey/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/MadLamprey/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [467/480] Analyzing https://github.com/kiatkat/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/MadLamprey/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/kiatkat/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/kiatkat/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/MadLamprey/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/MadLamprey/ip.git (master) completed! +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [468/480] Analyzing https://github.com/xyT-T/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/xyT-T/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/xyT-T/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/kiatkat/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/kiatkat/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/kiatkat/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [469/480] Analyzing https://github.com/nreHieW/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [469/480] Analyzing https://github.com/jiakai-17/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jiakai-17/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jiakai-17/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/xyT-T/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/xyT-T/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/xyT-T/ip.git (master) completed! +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator analyzeRepos +INFO: [470/480] Analyzing https://github.com/nreHieW/ip.git (master)... +Sep 02, 2023 2:46:07 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/nreHieW/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:07 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/nreHieW/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/MadLamprey/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/MadLamprey/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jiakai-17/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nreHieW/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/MadLamprey/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [470/480] Analyzing https://github.com/Saezenn/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jiakai-17/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jiakai-17/ip.git (master) completed! +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [471/480] Analyzing https://github.com/nathanielcalimag/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nreHieW/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nreHieW/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [471/480] Analyzing https://github.com/jiakai-17/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [472/480] Analyzing https://github.com/Saezenn/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/nathanielcalimag/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/nathanielcalimag/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Saezenn/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Saezenn/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jiakai-17/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jiakai-17/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Saezenn/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Saezenn/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Saezenn/ip.git (master) completed! -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator analyzeRepos -INFO: [472/480] Analyzing https://github.com/nathanielcalimag/ip.git (master)... -Sep 02, 2023 2:26:44 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/nathanielcalimag/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:44 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/nathanielcalimag/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jiakai-17/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jiakai-17/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jiakai-17/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [473/480] Analyzing https://github.com/jellywaiyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/jellywaiyan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/jellywaiyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [473/480] Analyzing https://github.com/marquestye/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/marquestye/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/marquestye/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/nathanielcalimag/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/jellywaiyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/jellywaiyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/jellywaiyan/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/nathanielcalimag/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/nathanielcalimag/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [474/480] Analyzing https://github.com/marquestye/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [475/480] Analyzing https://github.com/Tang-Moyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [474/480] Analyzing https://github.com/Tang-Moyan/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Tang-Moyan/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Tang-Moyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/marquestye/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/marquestye/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Tang-Moyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Tang-Moyan/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Tang-Moyan/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [476/480] Analyzing https://github.com/DonovanJJ/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/DonovanJJ/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/DonovanJJ/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [475/480] Analyzing https://github.com/jellywaiyan/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/jellywaiyan/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/jellywaiyan/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/marquestye/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/jellywaiyan/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/marquestye/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/marquestye/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [476/480] Analyzing https://github.com/DonovanJJ/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/jellywaiyan/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/jellywaiyan/ip.git (master) completed! +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos INFO: [477/480] Analyzing https://github.com/Sebtey/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/DonovanJJ/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/DonovanJJ/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/Sebtey/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/Sebtey/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/DonovanJJ/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/DonovanJJ/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/DonovanJJ/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [478/480] Analyzing https://github.com/tyouwei/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/tyouwei/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/tyouwei/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Sebtey/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Sebtey/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Sebtey/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [479/480] Analyzing https://github.com/rionshocker/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [478/480] Analyzing https://github.com/rionshocker/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/DonovanJJ/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/rionshocker/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/rionshocker/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/tyouwei/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/tyouwei/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/tyouwei/ip.git (master) completed! -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepos -INFO: [480/480] Analyzing https://github.com/Blizzeracz/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/Blizzeracz/ip.git (master) does not contain a standalone config file. -Sep 02, 2023 2:26:45 PM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/Blizzeracz/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:08 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/DonovanJJ/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/DonovanJJ/ip.git (master) completed! +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator analyzeRepos +INFO: [479/480] Analyzing https://github.com/tyouwei/ip.git (master)... +Sep 02, 2023 2:46:08 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/tyouwei/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:08 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/tyouwei/ip.git (master)... +Sep 02, 2023 2:46:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/rionshocker/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/rionshocker/ip.git (master)... -Sep 02, 2023 2:26:45 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/rionshocker/ip.git (master) completed! -Sep 02, 2023 2:26:46 PM reposense.commits.CommitInfoExtractor extractCommitInfos +Sep 02, 2023 2:46:09 PM reposense.report.ReportGenerator analyzeRepos +INFO: [480/480] Analyzing https://github.com/Blizzeracz/ip.git (master)... +Sep 02, 2023 2:46:09 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/Blizzeracz/ip.git (master) does not contain a standalone config file. +Sep 02, 2023 2:46:09 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/Blizzeracz/ip.git (master)... +Sep 02, 2023 2:46:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/tyouwei/ip.git (master)... +Sep 02, 2023 2:46:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/tyouwei/ip.git (master)... +Sep 02, 2023 2:46:09 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/tyouwei/ip.git (master) completed! +Sep 02, 2023 2:46:09 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/Blizzeracz/ip.git (master)... -Sep 02, 2023 2:26:46 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +Sep 02, 2023 2:46:09 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/Blizzeracz/ip.git (master)... -Sep 02, 2023 2:26:46 PM reposense.report.ReportGenerator analyzeRepo +Sep 02, 2023 2:46:09 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/Blizzeracz/ip.git (master) completed! -Sep 02, 2023 2:26:46 PM reposense.report.ReportGenerator generateReposReport +Sep 02, 2023 2:46:09 PM reposense.report.ReportGenerator generateReposReport INFO: The report is generated at /home/runner/work/ip-dashboard/ip-dashboard/reposense-report -Sep 02, 2023 2:26:47 PM reposense.RepoSense main -INFO: Elapsed processing time: 1 minute(s) 41.04 second(s) +Sep 02, 2023 2:46:10 PM reposense.RepoSense main +INFO: Elapsed processing time: 1 minute(s) 32.89 second(s) diff --git a/s-kybound_ip_master/authorship.json b/s-kybound_ip_master/authorship.json index 47aab14c..b161977f 100644 --- a/s-kybound_ip_master/authorship.json +++ b/s-kybound_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":"-"},"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":"s-kybound"},"content":" mainClass.set(\"crusader.Crusader\")","lastModifiedDate":"2023-09-02"},{"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":"s-kybound"},"content":" archiveBaseName \u003d \"crusader\"","lastModifiedDate":"2023-09-02"},{"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":{"s-kybound":2,"-":40}},{"path":"src/main/java/crusader/Crusader.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderMissingSaveFileException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * The main instance of the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class Crusader {","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /** Logo generated from https://patorjk.com/software/taag */","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private static final String LOGO \u003d","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" \" _____ _\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" + \" / ____| | |\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" + \" | | _ __ _ _ ___ __ _ __| | ___ _ __\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" + \" | | | \u0027__| | | / __|/ _` |/ _` |/ _ \\\\ \u0027__|\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" + \" | |____| | | |_| \\\\__ \\\\ (_| | (_| | __/ |\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" + \" \\\\_____|_| \\\\__,_|___/\\\\__,_|\\\\__,_|\\\\___|_|\";","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" * The filepath used to save data.","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" private static final String SAVE_FILE \u003d \"./data/crusader.txt\";","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" * The system used to manage data storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" private final Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" * The set of tasks in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" private final TaskList taskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" * The interface of the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" private final Ui ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" * Constructs a Crusader bot instance.","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" * @param filePath","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" * @param logo","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" public Crusader(String filePath, String logo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" TaskList taskList1;","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" this.ui \u003d new Ui(logo);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" taskList1 \u003d new TaskList(storage.loadTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" } catch (CrusaderMissingSaveFileException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" ui.say(\"Creating a new file, file does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" taskList1 \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" } catch (CrusaderException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" ui.say(\"Saved file is formatted wrongly!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" taskList1 \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" this.taskList \u003d taskList1;","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" * Activates the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" public void run() {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" this.ui.showLogo();","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" this.ui.greet();","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" boolean hasEnded \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" while (!hasEnded) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" String command \u003d this.ui.promptInput();","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" Command c \u003d Parser.parse(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" c.execute(ui, taskList);","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" hasEnded \u003d c.isExit();","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" } catch (CrusaderException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" this.ui.say(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" this.ui.farewell();","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" this.storage.saveTasks(taskList.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" new Crusader(SAVE_FILE, LOGO).run();","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"s-kybound":85}},{"path":"src/main/java/crusader/DateUtils.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import java.text.ParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import java.text.SimpleDateFormat;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" * A set of tools to make date formatting in the bot standardised","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"public class DateUtils {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" * The date and time format used for all input in this program.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" private static final SimpleDateFormat DATE_FORMAT \u003d new SimpleDateFormat(\"dd/MM/yyyy kk\");","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" * THe date format used to display information in the program.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" private static final SimpleDateFormat PRESENT_FORMAT \u003d new SimpleDateFormat(\"MMM dd yyyy kk\");","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * Parses dates and times entered.","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" public static Date parseDateTime(String dateTimeString) throws ParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" return DATE_FORMAT.parse(dateTimeString);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" * Formats a date so that it can be saved.","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" * @param date A date","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" * @return A string formatted for saving","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" public static String saveFormat(Date date) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" return DATE_FORMAT.format(date);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" * Formats a date to display it","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" * @param date A date","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" * @return A string formatted for the display","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" public static String presentFormat(Date date) {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" return PRESENT_FORMAT.format(date);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":46}},{"path":"src/main/java/crusader/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.command.AddTaskCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.command.ByeCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.command.DeleteCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import crusader.command.FindCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import crusader.command.ListCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import crusader.command.MarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderDateFormatException;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"import java.text.ParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" * A set of tools used to parse user input","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" * Takes a command given by the user and converts it into a usable command.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" * @param prompt A string representing a user command.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" * @return A Command instance","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException Error is generated when input command is malformed.","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" public static Command parse(String prompt) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" Command returnCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" switch (prompt.contains(\" \")","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" ? prompt.split(\" \")[0]","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" : prompt) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" case \"bye\":","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d new ByeCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" case \"list\":","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d new ListCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" case \"mark\":","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseMarking(prompt, true);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" case \"unmark\":","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseMarking(prompt, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" case \"todo\":","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseTodo(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" case \"event\":","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseEvent(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" case \"deadline\":","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseDeadline(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" case \"delete\":","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseDelete(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" case \"find\":","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseFind(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Unknown command!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" return returnCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" * Creates a mark or unmark command.","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" * @param currentPrompt User input.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" * @param isMarkCommand Whether this is a mark or unmark command.","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" * @return Mark/Unmark command.","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException When input is malformed, for example, when no index is given.","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" private static Command parseMarking(String currentPrompt, boolean isMarkCommand) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d currentPrompt.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" if (components.length !\u003d 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"un/mark expects 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" int i \u003d Integer.parseInt(currentPrompt.split(\" \")[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" return new MarkCommand(i, isMarkCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"un/mark expects its 1 parameter to be a number!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"s-kybound"},"content":" * Creates an add task command, adding a todo","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"s-kybound"},"content":" * @return Todo command","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException When input is malformed, in this case with no name given","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"s-kybound"},"content":" private static Command parseTodo(String prompt) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"s-kybound"},"content":" if (prompt.trim().length() \u003c 5) {","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"todo expects 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"s-kybound"},"content":" String name \u003d prompt.substring(5).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"s-kybound"},"content":" Todo t \u003d new Todo(name);","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"s-kybound"},"content":" return new AddTaskCommand(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"s-kybound"},"content":" * Creates an add task command, adding an event","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"s-kybound"},"content":" * @return Event command","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderParseException","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"s-kybound"},"content":" private static Command parseEvent(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"s-kybound"},"content":" int fromPosition \u003d prompt.indexOf(\"/from\");","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"s-kybound"},"content":" if (fromPosition \u003c 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"An event must have a /from parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"s-kybound"},"content":" int toPosition \u003d prompt.indexOf(\"/to\");","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"s-kybound"},"content":" if (toPosition \u003c 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"An event must have /to parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"s-kybound"},"content":" if (toPosition \u003c\u003d fromPosition ) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"/to should be in front of /from!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"s-kybound"},"content":" if (fromPosition \u003c 7) {","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"There should be an event name!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"s-kybound"},"content":" if (fromPosition + 6 \u003e toPosition - 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Please specify a /from parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"s-kybound"},"content":" if (toPosition + 4 \u003e prompt.trim().length()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Please specify a /to parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"s-kybound"},"content":" String name \u003d prompt.substring(6, fromPosition - 1).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"s-kybound"},"content":" String from \u003d prompt.substring(fromPosition + 6, toPosition - 1).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"s-kybound"},"content":" String to \u003d prompt.substring(toPosition + 4).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"s-kybound"},"content":" Event e \u003d new Event(name, DateUtils.parseDateTime(from), DateUtils.parseDateTime(to));","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"s-kybound"},"content":" return new AddTaskCommand(e);","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"s-kybound"},"content":" } catch (ParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderDateFormatException();","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"s-kybound"},"content":" * Creates an add task command, adding a deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"s-kybound"},"content":" * @return Deadline command","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderParseException","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"s-kybound"},"content":" private static Command parseDeadline(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"s-kybound"},"content":" int byPosition \u003d prompt.indexOf(\"/by\");","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"s-kybound"},"content":" if (byPosition \u003c 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"A deadline must have a /by parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"s-kybound"},"content":" if (byPosition + 4 \u003e prompt.trim().length()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Please specify a /by parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"s-kybound"},"content":" String name \u003d prompt.substring(9, byPosition - 1).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"s-kybound"},"content":" String by \u003d prompt.substring(byPosition + 4).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"s-kybound"},"content":" Deadline d \u003d new Deadline(name, DateUtils.parseDateTime(by));","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"s-kybound"},"content":" return new AddTaskCommand(d);","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"s-kybound"},"content":" } catch (ParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderDateFormatException();","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"s-kybound"},"content":" * Creates a delete command","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"s-kybound"},"content":" * @return Delete command","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderParseException","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"s-kybound"},"content":" private static Command parseDelete(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d prompt.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"s-kybound"},"content":" if (components.length !\u003d 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"delete expects 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"s-kybound"},"content":" int i \u003d Integer.parseInt(prompt.split(\" \")[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"s-kybound"},"content":" return new DeleteCommand(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"s-kybound"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"delete expects its 1 parameter to be a number!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"s-kybound"},"content":" private static Command parseFind(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d prompt.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"s-kybound"},"content":" if (components.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"find expects at least 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"s-kybound"},"content":" String query \u003d prompt.substring(5).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"s-kybound"},"content":" return new FindCommand(query);","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":194}},{"path":"src/main/java/crusader/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderMissingSaveFileException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"import java.io.PrintWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"import java.text.ParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * The component of the bot responsible for loading and saving data to disk","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" * The file used to load and save data","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" private final File file;","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" * Initializes storage","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" * @param filePath The path to the file","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" * Loads into TASKS saved tasks from a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException thrown on erroneous input","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" public ArrayList\u003cTask\u003e loadTasks() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" Scanner scanner \u003d new Scanner(this.file);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" while (scanner.hasNext()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" String line \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" // parse the line","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" Task task \u003d parseSavedTask(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" tasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" } catch (ParseException | IndexOutOfBoundsException | IllegalArgumentException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"The save file is malformed!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderMissingSaveFileException(this.file.getPath());","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" return tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" * Parses a single task saved in the text file.","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" * @param taskString Line to be parsed.","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" * @return A new Crusader.Task.Task.","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" private Task parseSavedTask(String taskString) throws ParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d taskString.split(\"\\\\|\");","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" Task task;","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" switch (components[0]) {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" case \"E\":","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" task \u003d new Event(","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" components[1],","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" DateUtils.parseDateTime(components[3]),","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" DateUtils.parseDateTime(components[4]));","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" case \"T\":","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" task \u003d new Todo(components[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" case \"D\":","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":" task \u003d new Deadline(","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" components[1],","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" DateUtils.parseDateTime(components[3]));","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"s-kybound"},"content":" throw new IllegalArgumentException();","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"s-kybound"},"content":" if (components[2].equals(\"X\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"s-kybound"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"s-kybound"},"content":" * Saves the Tasks in TASKS to a given file.","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"s-kybound"},"content":" * @param tasks The required tasks to parse","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"s-kybound"},"content":" public void saveTasks(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"s-kybound"},"content":" try (PrintWriter fileWriter \u003d new PrintWriter(this.file)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"s-kybound"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(task.toFormat());","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"s-kybound"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"s-kybound"},"content":" e.printStackTrace();","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":108}},{"path":"src/main/java/crusader/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderNoSuchTaskException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import java.util.stream.Collectors;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * A set of tasks to do","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" * The list of task","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" private final ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" * Creates an empty tasklist","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" * Initializes a tasklist with a pre-existing list of tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" * @param tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" public TaskList(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" * Describes the list of tasks in the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" String returnString \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" for (int x \u003d 0; x \u003c tasks.size(); x++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" returnString \u003d String.format(\"%s%d. %s\\n\", returnString, x + 1, tasks.get(x).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" return returnString;","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" * Marks a task as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" * @param index index of the task to be marked. 1-indexed.","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" * @return the updated task.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" public Task markTask(int index) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" Task task \u003d tasks.get(index - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderNoSuchTaskException(\"There is no task at that index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" * Unmarks a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" * @param index index of the task to be unmarked. 1-indexed.","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" * @return the updated task.","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" public Task unmarkTask(int index) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" Task task \u003d tasks.get(index - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" task.unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderNoSuchTaskException(\"There is no task at that index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" * Deletes a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" * @param index index of the task to be deleted. 1-indexed.","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" * @return the deleted task.","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":" public Task deleteTask(int index) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"s-kybound"},"content":" Task task \u003d tasks.get(index - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"s-kybound"},"content":" tasks.remove(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"s-kybound"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderNoSuchTaskException(\"There is no task at that index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"s-kybound"},"content":" * Gets the current size of the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"s-kybound"},"content":" * @return the size of the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"s-kybound"},"content":" public int getSize() {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"s-kybound"},"content":" return tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"s-kybound"},"content":" * Adds a task to the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"s-kybound"},"content":" * @param task task to be added.","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"s-kybound"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"s-kybound"},"content":" tasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"s-kybound"},"content":" * Gets the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"s-kybound"},"content":" * @return the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"s-kybound"},"content":" public ArrayList\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"s-kybound"},"content":" return this.tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"s-kybound"},"content":" * Returns a smaller task list, comprising only of tasks matching a certain query","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"s-kybound"},"content":" * @param query Query used to filter the task list","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"s-kybound"},"content":" public TaskList filter(String query) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"s-kybound"},"content":" return new TaskList(","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"s-kybound"},"content":" new ArrayList\u003c\u003e(","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"s-kybound"},"content":" this.tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"s-kybound"},"content":" .stream()","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"s-kybound"},"content":" .filter(","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"s-kybound"},"content":" task -\u003e task.getName().contains(query))","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"s-kybound"},"content":" .collect(Collectors.toList())));","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":134}},{"path":"src/main/java/crusader/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":" * The main interface of the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"public class Ui {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" * The logo for the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private final String logo;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" private final Scanner inputScanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" * Initializes the UI of the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" * @param logo","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" public Ui(String logo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" this.logo \u003d logo;","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" this.inputScanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" * Generates a horizontal line to divide parts of the conversation.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" public void addDivider() {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" * Makes the bot say something.","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" * Formatted nicely with a divider.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" public void say(String line) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" addDivider();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" * Displays the logo of the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" public void showLogo() {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" say(this.logo);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" * Greets the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" public void greet() {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" say(\"Hi, I am CRUSADER\\nWhat can I do for you?\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" * Says goodbye to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" public void farewell() {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" say(\"Bye!\\nHave a great day!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" * Prompts the user for input.","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" public String promptInput() {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" System.out.print(\"Input: \");","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" String prompt \u003d inputScanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" addDivider();","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" return prompt.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":71}},{"path":"src/main/java/crusader/command/AddTaskCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * Command used to add a task of any type to the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class AddTaskCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" private final Task task;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" public AddTaskCommand(Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" this.task \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" taskList.addTask(this.task);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" \"Adding the task:\\n%s\\nNow there are %d tasks in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" this.task.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" taskList.getSize()));","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":25}},{"path":"src/main/java/crusader/command/ByeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" * Command used to exit the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"public class ByeCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" public ByeCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" // empty","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" // do nothing","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" public boolean isExit() {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":23}},{"path":"src/main/java/crusader/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * A command, representing a singular action in the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public abstract class Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * Generates a new command.","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" public Command() {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" // empty","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" * Runs the command.","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" * @param ui UI to generate output if required","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" * @param taskList Task list to update or access as required","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException On malformed user input","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" public abstract void execute(Ui ui, TaskList taskList) throws CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" * Checks whether the command is used to terminate the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" * @return Whether the command is an exit command","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" public boolean isExit() {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":34}},{"path":"src/main/java/crusader/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" * Command used to delete tasks from the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private final int index;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" public DeleteCommand(int index) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" this.index \u003d index;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" Task deletedTask \u003d taskList.deleteTask(index);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" \"Deleting the task:\\n%s\\nNow there are %d tasks in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" deletedTask.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" taskList.getSize()));","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":25}},{"path":"src/main/java/crusader/command/FindCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"public class FindCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" private final String query;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" public FindCommand(String query) {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" this.query \u003d query;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" \"Here are the matching tasks in the list:\\n%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" taskList.filter(query).toString()));","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":20}},{"path":"src/main/java/crusader/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" * Command used to show all tasks in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" public ListCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" // nothing","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" \"Here are your tasks:\\n%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" taskList.toString()));","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":20}},{"path":"src/main/java/crusader/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" * Command used to mark or unmark tasks as done or not in the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private final int index;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" private final boolean isMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" public MarkCommand(int index, boolean isMark) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" this.index \u003d index;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" this.isMark \u003d isMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" Task changedTask \u003d this.isMark ? taskList.markTask(index) : taskList.unmarkTask(index);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" \"%s:\\n%s\\n\",","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" this.isMark ? \"I have marked the following task as done\" : \"I have unmarked this task\",","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" changedTask.toString()));","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":27}},{"path":"src/main/java/crusader/exception/CrusaderDateFormatException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error from wrong time formatting in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderDateFormatException extends CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderDateFormatException() {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(\"I only understand dates in the format dd/mm/yyyy hh(24 hours)!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * An error in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderException extends Exception {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderMissingSaveFileException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error due to lack of an existing save file.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderMissingSaveFileException extends CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderMissingSaveFileException(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(String.format(\"No save file could be found at path %s !\", path));","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderNoSuchTaskException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error dur to accessing a nonexistent task","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderNoSuchTaskException extends CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderNoSuchTaskException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error in parsing user input","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderParseException extends CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderParseException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(String.format(\"There is a parsing error!\\nDetails: %s\", message));","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.DateUtils;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * A deadline task, with a time the task is due by","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * Time the deadline is due by","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" private final Date by;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" public Deadline(String name, Date by) {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" \"[D]%s (by: %s)\",","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" super.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" DateUtils.presentFormat(this.by));","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" public String toFormat() {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" \"D|%s|%s|%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" super.getName(),","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" super.isDone() ? \"X\" : \" \",","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" DateUtils.saveFormat(this.by));","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":37}},{"path":"src/main/java/crusader/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.DateUtils;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * An event task, with a duration of time the event occurs.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * When the event starts","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" private final Date from;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" * When the event ends","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" private final Date to;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" public Event(String name, Date from, Date to) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" \"[E]%s (from: %s to: %s)\",","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" super.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" DateUtils.presentFormat(this.from),","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" DateUtils.presentFormat(this.to));","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" public String toFormat() {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" \"E|%s|%s|%s|%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" super.getName(),","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" super.isDone() ? \"X\" : \" \",","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" DateUtils.saveFormat(this.from),","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" DateUtils.saveFormat(this.to));","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":45}},{"path":"src/main/java/crusader/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * A task to do in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public abstract class Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" /** Name of the task */","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" private final String name;","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" /** The completion status of the task */","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" private boolean isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" * Initializes a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" * @param name","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" public Task(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" this.name \u003d name;","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" isDone \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * Gets the name of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" * @return Task\u0027s name","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" public String getName() {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" return name;","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" * Generaties a string representation of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" * @return A string describing the task","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" return String.format(\"[%s] %s\", isDone() ? \"X\" : \" \", name);","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" * Generates a file representation of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" * @return A string optimized to store in file","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" public abstract String toFormat();","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" * Checks wheter the task has been completed","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" * @return Task completion status","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" return isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" * Marks the task as complete","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" public void mark() {","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" isDone \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" * Designates a task as incomplete","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" public void unmark() {","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" isDone \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":66}},{"path":"src/main/java/crusader/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * A todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public Todo(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" return String.format(\"[T]%s\",super.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" public String toFormat() {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" return String.format(\"T|%s|%s\", super.getName(), super.isDone() ? \"X\" : \" \");","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":20}},{"path":"src/test/java/crusader/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.command.AddTaskCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.command.DeleteCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.command.MarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import static org.junit.jupiter.api.Assertions.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" public void parse_unknownCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" assertThrows(CrusaderParseException.class, () -\u003e Parser.parse(\"hello\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" public void parse_todoCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" assertTrue(Parser.parse(\"todo test\") instanceof AddTaskCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" public void parse_eventCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"event test /from 01/01/2023 00 /to 12/12/2023 23\") instanceof AddTaskCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" public void parse_deadlineCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"deadline test /by 12/12/2023 23\") instanceof AddTaskCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" public void parse_deleteCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"delete 1\") instanceof DeleteCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" public void parse_unmarkCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"unmark 2\") instanceof MarkCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" public void parse_markCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"mark 3\") instanceof MarkCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" public void parse_missingParameterEventCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"event this is okay /from this is not\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" public void parse_malformedTimeEventCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"event this is okay /from 01-01-2023 2359 /to 12-12-2023 0000\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" public void parse_badIndexDeleteCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"delete a\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" public void parse_tooManyParameterMarkCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"mark 1 2 3 4\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":79}},{"path":"src/test/java/crusader/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.AfterEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"import java.io.PrintWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"import static org.junit.jupiter.api.Assertions.assertThrows;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"public class StorageTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" private static final String TEST_PATH \u003d \"./data/test.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" @BeforeEach","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" public void setup() {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" File testFile \u003d new File(TEST_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" try (PrintWriter fileWriter \u003d new PrintWriter(testFile)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"E|eat water|X|01/12/2008 12|12/12/2023 14\");","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"T|CS2100| \\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" e.printStackTrace();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" @AfterEach","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" public void setdown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" File testFile \u003d new File(TEST_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" testFile.delete();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" public void loadTasks_correctFormat_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" ArrayList\u003cTask\u003e taskList \u003d new Storage(TEST_PATH).loadTasks();","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" assertEquals(\"[E][X] eat water (from: Dec 01 2008 12 to: Dec 12 2023 14)\",taskList.get(0).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" assertEquals(\"[T][ ] CS2100\",taskList.get(1).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" public void loadTasks_incorrectFormat_ExceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" File testFile \u003d new File(TEST_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" try (PrintWriter fileWriter \u003d new PrintWriter(testFile)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"E|eat water|X|01/12/2008 12|december 12\");","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"T|CS2100| | |33\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" e.printStackTrace();","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" assertThrows(CrusaderParseException.class, () -\u003e new Storage(TEST_PATH).loadTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":58}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"todo buy water","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"event drink the water /from now /to later","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"deadline drink water /by tomorrow","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"mark 1","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"mark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"mark 3","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"unmark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":12}},{"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":"s-kybound"},"content":"java -classpath ..\\bin crusader \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-09-02"},{"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":{"s-kybound":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":"s-kybound"},"content":"java -classpath ../bin Crusader \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":{"s-kybound":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":"-"},"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":"s-kybound"},"content":" mainClass.set(\"crusader.Crusader\")","lastModifiedDate":"2023-09-02"},{"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":"s-kybound"},"content":" archiveBaseName \u003d \"crusader\"","lastModifiedDate":"2023-09-02"},{"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":{"s-kybound":2,"-":40}},{"path":"src/main/java/crusader/Crusader.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderMissingSaveFileException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * The main instance of the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class Crusader {","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /** Logo generated from https://patorjk.com/software/taag */","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private static final String LOGO \u003d","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" \" _____ _\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" + \" / ____| | |\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" + \" | | _ __ _ _ ___ __ _ __| | ___ _ __\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" + \" | | | \u0027__| | | / __|/ _` |/ _` |/ _ \\\\ \u0027__|\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" + \" | |____| | | |_| \\\\__ \\\\ (_| | (_| | __/ |\\n\"","lastModifiedDate":"2023-08-23"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" + \" \\\\_____|_| \\\\__,_|___/\\\\__,_|\\\\__,_|\\\\___|_|\";","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" * The filepath used to save data.","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" private static final String SAVE_FILE \u003d \"./data/crusader.txt\";","lastModifiedDate":"2023-09-01"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" * The system used to manage data storage.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" private final Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" * The set of tasks in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" private final TaskList taskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" * The interface of the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" private final Ui ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" * Constructs a Crusader bot instance.","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" * @param filePath","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" * @param logo","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" public Crusader(String filePath, String logo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" TaskList taskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" this.ui \u003d new Ui(logo);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-01"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" taskList \u003d new TaskList(storage.loadTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" } catch (CrusaderMissingSaveFileException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" ui.say(\"Creating a new file, file does not exist!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" taskList \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" } catch (CrusaderException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" ui.say(\"Saved file is formatted wrongly!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" taskList \u003d new TaskList();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" this.taskList \u003d taskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" * Activates the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" public void run() {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" this.ui.showLogo();","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" this.ui.greet();","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" boolean hasEnded \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" while (!hasEnded) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" String command \u003d this.ui.promptInput();","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" Command c \u003d Parser.parse(command);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" c.execute(ui, taskList);","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" hasEnded \u003d c.isExit();","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" } catch (CrusaderException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" this.ui.say(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" this.ui.farewell();","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" this.storage.saveTasks(taskList.getTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-08-23"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" new Crusader(SAVE_FILE, LOGO).run();","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"s-kybound":85}},{"path":"src/main/java/crusader/DateUtils.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import java.text.ParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import java.text.SimpleDateFormat;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" * A set of tools to make date formatting in the bot standardised","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"public class DateUtils {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" * The date and time format used for all input in this program.","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" private static final SimpleDateFormat DATE_FORMAT \u003d new SimpleDateFormat(\"dd/MM/yyyy kk\");","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" * THe date format used to display information in the program.","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" private static final SimpleDateFormat PRESENT_FORMAT \u003d new SimpleDateFormat(\"MMM dd yyyy kk\");","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * Parses dates and times entered.","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" public static Date parseDateTime(String dateTimeString) throws ParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" return DATE_FORMAT.parse(dateTimeString);","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" * Formats a date so that it can be saved.","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" * @param date A date","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" * @return A string formatted for saving","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" public static String saveFormat(Date date) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" return DATE_FORMAT.format(date);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" * Formats a date to display it","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" * @param date A date","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" * @return A string formatted for the display","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" public static String presentFormat(Date date) {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" return PRESENT_FORMAT.format(date);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":46}},{"path":"src/main/java/crusader/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.command.AddTaskCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.command.ByeCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.command.Command;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.command.DeleteCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import crusader.command.FindCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import crusader.command.ListCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import crusader.command.MarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderDateFormatException;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"import java.text.ParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" * A set of tools used to parse user input","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" * Takes a command given by the user and converts it into a usable command.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" * @param prompt A string representing a user command.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" * @return A Command instance","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException Error is generated when input command is malformed.","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" public static Command parse(String prompt) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" Command returnCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" switch (prompt.contains(\" \")","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" ? prompt.split(\" \")[0]","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" : prompt) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" case \"bye\":","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d new ByeCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" case \"list\":","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d new ListCommand();","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" case \"mark\":","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseMarking(prompt, true);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" case \"unmark\":","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseMarking(prompt, false);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" case \"todo\":","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseTodo(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" case \"event\":","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseEvent(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" case \"deadline\":","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseDeadline(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" case \"delete\":","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseDelete(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" case \"find\":","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" returnCommand \u003d parseFind(prompt);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Unknown command!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" return returnCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" * Creates a mark or unmark command.","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" * @param currentPrompt User input.","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" * @param isMarkCommand Whether this is a mark or unmark command.","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" * @return Mark/Unmark command.","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException When input is malformed, for example, when no index is given.","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" private static Command parseMarking(String currentPrompt, boolean isMarkCommand) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d currentPrompt.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" if (components.length !\u003d 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"un/mark expects 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" int i \u003d Integer.parseInt(currentPrompt.split(\" \")[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" return new MarkCommand(i, isMarkCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"un/mark expects its 1 parameter to be a number!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"s-kybound"},"content":" * Creates an add task command, adding a todo","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"s-kybound"},"content":" * @return Todo command","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException When input is malformed, in this case with no name given","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"s-kybound"},"content":" private static Command parseTodo(String prompt) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"s-kybound"},"content":" if (prompt.trim().length() \u003c 5) {","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"todo expects 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"s-kybound"},"content":" String name \u003d prompt.substring(5).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"s-kybound"},"content":" Todo t \u003d new Todo(name);","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"s-kybound"},"content":" return new AddTaskCommand(t);","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"s-kybound"},"content":" * Creates an add task command, adding an event","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"s-kybound"},"content":" * @return Event command","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderParseException","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"s-kybound"},"content":" private static Command parseEvent(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"s-kybound"},"content":" int fromPosition \u003d prompt.indexOf(\"/from\");","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"s-kybound"},"content":" if (fromPosition \u003c 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"An event must have a /from parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"s-kybound"},"content":" int toPosition \u003d prompt.indexOf(\"/to\");","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"s-kybound"},"content":" if (toPosition \u003c 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"An event must have /to parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"s-kybound"},"content":" if (toPosition \u003c\u003d fromPosition ) {","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"/to should be in front of /from!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"s-kybound"},"content":" if (fromPosition \u003c 7) {","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"There should be an event name!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"s-kybound"},"content":" if (fromPosition + 6 \u003e toPosition - 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Please specify a /from parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"s-kybound"},"content":" if (toPosition + 4 \u003e prompt.trim().length()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Please specify a /to parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"s-kybound"},"content":" String name \u003d prompt.substring(6, fromPosition - 1).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"s-kybound"},"content":" String from \u003d prompt.substring(fromPosition + 6, toPosition - 1).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"s-kybound"},"content":" String to \u003d prompt.substring(toPosition + 4).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":135,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":136,"author":{"gitId":"s-kybound"},"content":" Event e \u003d new Event(name, DateUtils.parseDateTime(from), DateUtils.parseDateTime(to));","lastModifiedDate":"2023-09-02"},{"lineNumber":137,"author":{"gitId":"s-kybound"},"content":" return new AddTaskCommand(e);","lastModifiedDate":"2023-09-02"},{"lineNumber":138,"author":{"gitId":"s-kybound"},"content":" } catch (ParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":139,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderDateFormatException();","lastModifiedDate":"2023-09-02"},{"lineNumber":140,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":141,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":142,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":143,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":144,"author":{"gitId":"s-kybound"},"content":" * Creates an add task command, adding a deadline","lastModifiedDate":"2023-09-02"},{"lineNumber":145,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":146,"author":{"gitId":"s-kybound"},"content":" * @return Deadline command","lastModifiedDate":"2023-09-02"},{"lineNumber":147,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderParseException","lastModifiedDate":"2023-09-02"},{"lineNumber":148,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":149,"author":{"gitId":"s-kybound"},"content":" private static Command parseDeadline(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":150,"author":{"gitId":"s-kybound"},"content":" int byPosition \u003d prompt.indexOf(\"/by\");","lastModifiedDate":"2023-09-02"},{"lineNumber":151,"author":{"gitId":"s-kybound"},"content":" if (byPosition \u003c 0) {","lastModifiedDate":"2023-09-02"},{"lineNumber":152,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"A deadline must have a /by parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":153,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":154,"author":{"gitId":"s-kybound"},"content":" if (byPosition + 4 \u003e prompt.trim().length()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":155,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"Please specify a /by parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":156,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":157,"author":{"gitId":"s-kybound"},"content":" String name \u003d prompt.substring(9, byPosition - 1).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":158,"author":{"gitId":"s-kybound"},"content":" String by \u003d prompt.substring(byPosition + 4).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":159,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":160,"author":{"gitId":"s-kybound"},"content":" Deadline d \u003d new Deadline(name, DateUtils.parseDateTime(by));","lastModifiedDate":"2023-09-02"},{"lineNumber":161,"author":{"gitId":"s-kybound"},"content":" return new AddTaskCommand(d);","lastModifiedDate":"2023-09-02"},{"lineNumber":162,"author":{"gitId":"s-kybound"},"content":" } catch (ParseException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":163,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderDateFormatException();","lastModifiedDate":"2023-09-02"},{"lineNumber":164,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":165,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":166,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":167,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":168,"author":{"gitId":"s-kybound"},"content":" * Creates a delete command","lastModifiedDate":"2023-09-02"},{"lineNumber":169,"author":{"gitId":"s-kybound"},"content":" * @param prompt User input","lastModifiedDate":"2023-09-02"},{"lineNumber":170,"author":{"gitId":"s-kybound"},"content":" * @return Delete command","lastModifiedDate":"2023-09-02"},{"lineNumber":171,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderParseException","lastModifiedDate":"2023-09-02"},{"lineNumber":172,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":173,"author":{"gitId":"s-kybound"},"content":" private static Command parseDelete(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":174,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d prompt.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":175,"author":{"gitId":"s-kybound"},"content":" if (components.length !\u003d 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":176,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"delete expects 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":177,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":178,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":179,"author":{"gitId":"s-kybound"},"content":" int i \u003d Integer.parseInt(prompt.split(\" \")[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":180,"author":{"gitId":"s-kybound"},"content":" return new DeleteCommand(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":181,"author":{"gitId":"s-kybound"},"content":" } catch (NumberFormatException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":182,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"delete expects its 1 parameter to be a number!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":183,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":184,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":185,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":186,"author":{"gitId":"s-kybound"},"content":" private static Command parseFind(String prompt) throws CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":187,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d prompt.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":188,"author":{"gitId":"s-kybound"},"content":" if (components.length \u003c 2) {","lastModifiedDate":"2023-09-02"},{"lineNumber":189,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"find expects at least 1 parameter!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":190,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":191,"author":{"gitId":"s-kybound"},"content":" String query \u003d prompt.substring(5).trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":192,"author":{"gitId":"s-kybound"},"content":" return new FindCommand(query);","lastModifiedDate":"2023-09-02"},{"lineNumber":193,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":194,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":194}},{"path":"src/main/java/crusader/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderMissingSaveFileException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Deadline;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Event;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Todo;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"import java.io.PrintWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"import java.text.ParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * The component of the bot responsible for loading and saving data to disk","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" * The file used to load and save data","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" private final File file;","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" * Initializes storage","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" * @param filePath The path to the file","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" this.file \u003d new File(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" * Loads into TASKS saved tasks from a file.","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException thrown on erroneous input","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" public ArrayList\u003cTask\u003e loadTasks() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" Scanner scanner \u003d new Scanner(this.file);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" while (scanner.hasNext()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" String line \u003d scanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" // parse the line","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" Task task \u003d parseSavedTask(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" tasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" } catch (ParseException | IndexOutOfBoundsException | IllegalArgumentException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderParseException(\"The save file is malformed!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderMissingSaveFileException(this.file.getPath());","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" return tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" * Parses a single task saved in the text file.","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" * @param taskString Line to be parsed.","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" * @return A new Crusader.Task.Task.","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" private Task parseSavedTask(String taskString) throws ParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" String[] components \u003d taskString.split(\"\\\\|\");","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" Task task;","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" switch (components[0]) {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" case \"E\":","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" task \u003d new Event(","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" components[1],","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" DateUtils.parseDateTime(components[3]),","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" DateUtils.parseDateTime(components[4]));","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" case \"T\":","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" task \u003d new Todo(components[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" case \"D\":","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":" task \u003d new Deadline(","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" components[1],","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" DateUtils.parseDateTime(components[3]));","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" break;","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":" default:","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"s-kybound"},"content":" throw new IllegalArgumentException();","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"s-kybound"},"content":" if (components[2].equals(\"X\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"s-kybound"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"s-kybound"},"content":" * Saves the Tasks in TASKS to a given file.","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"s-kybound"},"content":" * @param tasks The required tasks to parse","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"s-kybound"},"content":" public void saveTasks(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"s-kybound"},"content":" try (PrintWriter fileWriter \u003d new PrintWriter(this.file)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"s-kybound"},"content":" for (Task task : tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(task.toFormat());","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"s-kybound"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"s-kybound"},"content":" e.printStackTrace();","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":108}},{"path":"src/main/java/crusader/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderNoSuchTaskException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import java.util.stream.Collectors;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * A set of tasks to do","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"public class TaskList {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" * The list of task","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" private final ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" * Creates an empty tasklist","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" public TaskList() {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" * Initializes a tasklist with a pre-existing list of tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" * @param tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" public TaskList(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" * Describes the list of tasks in the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" String returnString \u003d \"\";","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" for (int x \u003d 0; x \u003c tasks.size(); x++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" returnString \u003d String.format(\"%s%d. %s\\n\", returnString, x + 1, tasks.get(x).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" return returnString;","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" * Marks a task as done.","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" * @param index index of the task to be marked. 1-indexed.","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" * @return the updated task.","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" public Task markTask(int index) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" Task task \u003d tasks.get(index - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" task.mark();","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderNoSuchTaskException(\"There is no task at that index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" * Unmarks a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" * @param index index of the task to be unmarked. 1-indexed.","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" * @return the updated task.","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" public Task unmarkTask(int index) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" Task task \u003d tasks.get(index - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":" task.unmark();","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderNoSuchTaskException(\"There is no task at that index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"s-kybound"},"content":" * Deletes a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"s-kybound"},"content":" * @param index index of the task to be deleted. 1-indexed.","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"s-kybound"},"content":" * @return the deleted task.","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"s-kybound"},"content":" public Task deleteTask(int index) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"s-kybound"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"s-kybound"},"content":" Task task \u003d tasks.get(index - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"s-kybound"},"content":" tasks.remove(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"s-kybound"},"content":" return task;","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"s-kybound"},"content":" } catch (IndexOutOfBoundsException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"s-kybound"},"content":" throw new CrusaderNoSuchTaskException(\"There is no task at that index!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"s-kybound"},"content":" * Gets the current size of the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"s-kybound"},"content":" * @return the size of the list.","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"s-kybound"},"content":" public int getSize() {","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"s-kybound"},"content":" return tasks.size();","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"s-kybound"},"content":" * Adds a task to the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"s-kybound"},"content":" * @param task task to be added.","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"s-kybound"},"content":" public void addTask(Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"s-kybound"},"content":" tasks.add(task);","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":110,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":111,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":112,"author":{"gitId":"s-kybound"},"content":" * Gets the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":113,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":114,"author":{"gitId":"s-kybound"},"content":" * @return the task list.","lastModifiedDate":"2023-09-02"},{"lineNumber":115,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":116,"author":{"gitId":"s-kybound"},"content":" public ArrayList\u003cTask\u003e getTasks() {","lastModifiedDate":"2023-09-02"},{"lineNumber":117,"author":{"gitId":"s-kybound"},"content":" return this.tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":118,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":119,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":120,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":121,"author":{"gitId":"s-kybound"},"content":" * Returns a smaller task list, comprising only of tasks matching a certain query","lastModifiedDate":"2023-09-02"},{"lineNumber":122,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":123,"author":{"gitId":"s-kybound"},"content":" * @param query Query used to filter the task list","lastModifiedDate":"2023-09-02"},{"lineNumber":124,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":125,"author":{"gitId":"s-kybound"},"content":" public TaskList filter(String query) {","lastModifiedDate":"2023-09-02"},{"lineNumber":126,"author":{"gitId":"s-kybound"},"content":" return new TaskList(","lastModifiedDate":"2023-09-02"},{"lineNumber":127,"author":{"gitId":"s-kybound"},"content":" new ArrayList\u003c\u003e(","lastModifiedDate":"2023-09-02"},{"lineNumber":128,"author":{"gitId":"s-kybound"},"content":" this.tasks","lastModifiedDate":"2023-09-02"},{"lineNumber":129,"author":{"gitId":"s-kybound"},"content":" .stream()","lastModifiedDate":"2023-09-02"},{"lineNumber":130,"author":{"gitId":"s-kybound"},"content":" .filter(","lastModifiedDate":"2023-09-02"},{"lineNumber":131,"author":{"gitId":"s-kybound"},"content":" task -\u003e task.getName().contains(query))","lastModifiedDate":"2023-09-02"},{"lineNumber":132,"author":{"gitId":"s-kybound"},"content":" .collect(Collectors.toList())));","lastModifiedDate":"2023-09-02"},{"lineNumber":133,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":134,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":134}},{"path":"src/main/java/crusader/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":" * The main interface of the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"public class Ui {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" * The logo for the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private final String logo;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" private final Scanner inputScanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" * Initializes the UI of the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" * @param logo","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" public Ui(String logo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" this.logo \u003d logo;","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" this.inputScanner \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" * Generates a horizontal line to divide parts of the conversation.","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" public void addDivider() {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" * Makes the bot say something.","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" * Formatted nicely with a divider.","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" public void say(String line) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" System.out.println(line);","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" addDivider();","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" * Displays the logo of the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" public void showLogo() {","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" say(this.logo);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" * Greets the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" public void greet() {","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" say(\"Hi, I am CRUSADER\\nWhat can I do for you?\");","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" * Says goodbye to the user.","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" public void farewell() {","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" say(\"Bye!\\nHave a great day!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" * Prompts the user for input.","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" public String promptInput() {","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" System.out.print(\"Input: \");","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" String prompt \u003d inputScanner.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" addDivider();","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" return prompt.trim();","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":71}},{"path":"src/main/java/crusader/command/AddTaskCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * Command used to add a task of any type to the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class AddTaskCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" private final Task task;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" public AddTaskCommand(Task task) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" this.task \u003d task;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" taskList.addTask(this.task);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" \"Adding the task:\\n%s\\nNow there are %d tasks in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" this.task.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" taskList.getSize()));","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":25}},{"path":"src/main/java/crusader/command/ByeCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" * Command used to exit the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"public class ByeCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" public ByeCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" // empty","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" // do nothing","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" public boolean isExit() {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" return true;","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":23}},{"path":"src/main/java/crusader/command/Command.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * A command, representing a singular action in the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public abstract class Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * Generates a new command.","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" public Command() {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" // empty","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" * Runs the command.","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" *","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" * @param ui UI to generate output if required","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" * @param taskList Task list to update or access as required","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * @throws CrusaderException On malformed user input","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" public abstract void execute(Ui ui, TaskList taskList) throws CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" * Checks whether the command is used to terminate the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" * @return Whether the command is an exit command","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" public boolean isExit() {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" return false;","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":34}},{"path":"src/main/java/crusader/command/DeleteCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" * Command used to delete tasks from the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"public class DeleteCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private final int index;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" public DeleteCommand(int index) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" this.index \u003d index;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" Task deletedTask \u003d taskList.deleteTask(index);","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" \"Deleting the task:\\n%s\\nNow there are %d tasks in the list.\",","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" deletedTask.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" taskList.getSize()));","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":25}},{"path":"src/main/java/crusader/command/FindCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"public class FindCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" private final String query;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" public FindCommand(String query) {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" this.query \u003d query;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" \"Here are the matching tasks in the list:\\n%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" taskList.filter(query).toString()));","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":20}},{"path":"src/main/java/crusader/command/ListCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" * Command used to show all tasks in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" public ListCommand() {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" // nothing","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" \"Here are your tasks:\\n%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" taskList.toString()));","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":20}},{"path":"src/main/java/crusader/command/MarkCommand.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.command;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.TaskList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"import crusader.Ui;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" * Command used to mark or unmark tasks as done or not in the bot","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"public class MarkCommand extends Command {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" private final int index;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" private final boolean isMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" public MarkCommand(int index, boolean isMark) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" this.index \u003d index;","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" this.isMark \u003d isMark;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" public void execute(Ui ui, TaskList taskList) throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" Task changedTask \u003d this.isMark ? taskList.markTask(index) : taskList.unmarkTask(index);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" ui.say(String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" \"%s:\\n%s\\n\",","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" this.isMark ? \"I have marked the following task as done\" : \"I have unmarked this task\",","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" changedTask.toString()));","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":27}},{"path":"src/main/java/crusader/exception/CrusaderDateFormatException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error from wrong time formatting in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderDateFormatException extends CrusaderParseException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderDateFormatException() {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(\"I only understand dates in the format dd/mm/yyyy hh(24 hours)!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * An error in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderException extends Exception {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderMissingSaveFileException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error due to lack of an existing save file.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderMissingSaveFileException extends CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderMissingSaveFileException(String path) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(String.format(\"No save file could be found at path %s !\", path));","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderNoSuchTaskException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error dur to accessing a nonexistent task","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderNoSuchTaskException extends CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderNoSuchTaskException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(message);","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/exception/CrusaderParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.exception;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * Represents an error in parsing user input","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class CrusaderParseException extends CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public CrusaderParseException(String message) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(String.format(\"There is a parsing error!\\nDetails: %s\", message));","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":10}},{"path":"src/main/java/crusader/task/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.DateUtils;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * A deadline task, with a time the task is due by","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * Time the deadline is due by","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" private final Date by;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" public Deadline(String name, Date by) {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" \"[D]%s (by: %s)\",","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" super.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" DateUtils.presentFormat(this.by));","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" public String toFormat() {","lastModifiedDate":"2023-09-01"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" \"D|%s|%s|%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" super.getName(),","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" super.isDone() ? \"X\" : \" \",","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" DateUtils.saveFormat(this.by));","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":37}},{"path":"src/main/java/crusader/task/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.DateUtils;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import java.util.Date;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" * An event task, with a duration of time the event occurs.","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" * When the event starts","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" private final Date from;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" * When the event ends","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" private final Date to;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" public Event(String name, Date from, Date to) {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" this.from \u003d from;","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" this.to \u003d to;","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" \"[E]%s (from: %s to: %s)\",","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" super.toString(),","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" DateUtils.presentFormat(this.from),","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" DateUtils.presentFormat(this.to));","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" public String toFormat() {","lastModifiedDate":"2023-09-01"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" return String.format(","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" \"E|%s|%s|%s|%s\",","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" super.getName(),","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" super.isDone() ? \"X\" : \" \",","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" DateUtils.saveFormat(this.from),","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" DateUtils.saveFormat(this.to));","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":45}},{"path":"src/main/java/crusader/task/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * A task to do in the bot.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public abstract class Task {","lastModifiedDate":"2023-09-01"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" /** Name of the task */","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" private final String name;","lastModifiedDate":"2023-09-01"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":" /** The completion status of the task */","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" private boolean isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" * Initializes a task.","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" * @param name","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" public Task(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" this.name \u003d name;","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" isDone \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" * Gets the name of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" * @return Task\u0027s name","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" public String getName() {","lastModifiedDate":"2023-09-01"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" return name;","lastModifiedDate":"2023-09-01"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" * Generaties a string representation of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" * @return A string describing the task","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" return String.format(\"[%s] %s\", isDone() ? \"X\" : \" \", name);","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" * Generates a file representation of the task","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" * @return A string optimized to store in file","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" public abstract String toFormat();","lastModifiedDate":"2023-09-01"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" * Checks wheter the task has been completed","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" * @return Task completion status","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" public boolean isDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" return isDone;","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" * Marks the task as complete","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" public void mark() {","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" isDone \u003d true;","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" /**","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" * Designates a task as incomplete","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" public void unmark() {","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" isDone \u003d false;","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":66}},{"path":"src/main/java/crusader/task/Todo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader.task;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"/**","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":" * A todo task.","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":" */","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"public class Todo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":" public Todo(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":" return String.format(\"[T]%s\",super.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-01"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" @Override","lastModifiedDate":"2023-09-01"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" public String toFormat() {","lastModifiedDate":"2023-09-01"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" return String.format(\"T|%s|%s\", super.getName(), super.isDone() ? \"X\" : \" \");","lastModifiedDate":"2023-09-01"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-01"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":20}},{"path":"src/test/java/crusader/ParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.command.AddTaskCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.command.DeleteCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.command.MarkCommand;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import static org.junit.jupiter.api.Assertions.*;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"public class ParserTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":" public void parse_unknownCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":" assertThrows(CrusaderParseException.class, () -\u003e Parser.parse(\"hello\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":" public void parse_todoCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" assertTrue(Parser.parse(\"todo test\") instanceof AddTaskCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" public void parse_eventCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"event test /from 01/01/2023 00 /to 12/12/2023 23\") instanceof AddTaskCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":" public void parse_deadlineCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"deadline test /by 12/12/2023 23\") instanceof AddTaskCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":" public void parse_deleteCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"delete 1\") instanceof DeleteCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" public void parse_unmarkCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"unmark 2\") instanceof MarkCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" public void parse_markCommand_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" assertTrue(","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" Parser.parse(\"mark 3\") instanceof MarkCommand);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" public void parse_missingParameterEventCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"event this is okay /from this is not\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"s-kybound"},"content":" public void parse_malformedTimeEventCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"event this is okay /from 01-01-2023 2359 /to 12-12-2023 0000\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"s-kybound"},"content":" public void parse_badIndexDeleteCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"delete a\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"s-kybound"},"content":" public void parse_tooManyParameterMarkCommand_exceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"s-kybound"},"content":" assertThrows(","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"s-kybound"},"content":" CrusaderParseException.class,","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"s-kybound"},"content":" () -\u003e Parser.parse(\"mark 1 2 3 4\"));","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":79}},{"path":"src/test/java/crusader/StorageTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"package crusader;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderException;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"import crusader.exception.CrusaderParseException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"import crusader.task.Task;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.AfterEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.BeforeEach;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"s-kybound"},"content":"import java.io.PrintWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"s-kybound"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"s-kybound"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"s-kybound"},"content":"import static org.junit.jupiter.api.Assertions.assertThrows;","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"s-kybound"},"content":"public class StorageTest {","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"s-kybound"},"content":" private static final String TEST_PATH \u003d \"./data/test.txt\";","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"s-kybound"},"content":" @BeforeEach","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"s-kybound"},"content":" public void setup() {","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"s-kybound"},"content":" File testFile \u003d new File(TEST_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"s-kybound"},"content":" try (PrintWriter fileWriter \u003d new PrintWriter(testFile)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"E|eat water|X|01/12/2008 12|12/12/2023 14\");","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"T|CS2100| \\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"s-kybound"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"s-kybound"},"content":" e.printStackTrace();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"s-kybound"},"content":" @AfterEach","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"s-kybound"},"content":" public void setdown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"s-kybound"},"content":" File testFile \u003d new File(TEST_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"s-kybound"},"content":" testFile.delete();","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"s-kybound"},"content":" public void loadTasks_correctFormat_success() throws CrusaderException {","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"s-kybound"},"content":" ArrayList\u003cTask\u003e taskList \u003d new Storage(TEST_PATH).loadTasks();","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"s-kybound"},"content":" assertEquals(\"[E][X] eat water (from: Dec 01 2008 12 to: Dec 12 2023 14)\",taskList.get(0).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"s-kybound"},"content":" assertEquals(\"[T][ ] CS2100\",taskList.get(1).toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"s-kybound"},"content":" @Test","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"s-kybound"},"content":" public void loadTasks_incorrectFormat_ExceptionThrown() {","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"s-kybound"},"content":" File testFile \u003d new File(TEST_PATH);","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"s-kybound"},"content":" try (PrintWriter fileWriter \u003d new PrintWriter(testFile)) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"E|eat water|X|01/12/2008 12|december 12\");","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"s-kybound"},"content":" fileWriter.println(\"T|CS2100| | |33\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"s-kybound"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"s-kybound"},"content":" e.printStackTrace();","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"s-kybound"},"content":" assertThrows(CrusaderParseException.class, () -\u003e new Storage(TEST_PATH).loadTasks());","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"s-kybound"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"s-kybound"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"s-kybound"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"s-kybound":58}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"s-kybound"},"content":"todo buy water","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"s-kybound"},"content":"event drink the water /from now /to later","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"s-kybound"},"content":"deadline drink water /by tomorrow","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"s-kybound"},"content":"mark 1","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"s-kybound"},"content":"mark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"s-kybound"},"content":"mark 3","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"s-kybound"},"content":"unmark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"s-kybound"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"s-kybound"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"s-kybound":12}},{"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":"s-kybound"},"content":"java -classpath ..\\bin crusader \u003c input.txt \u003e ACTUAL.TXT","lastModifiedDate":"2023-09-02"},{"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":{"s-kybound":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":"s-kybound"},"content":"java -classpath ../bin Crusader \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":{"s-kybound":1,"-":37}}] diff --git a/s-kybound_ip_master/commits.json b/s-kybound_ip_master/commits.json index ae90f19c..3ead1f36 100644 --- a/s-kybound_ip_master/commits.json +++ b/s-kybound_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"s-kybound":[{"date":"2023-08-23","commitResults":[{"hash":"254a81bcd9b6a590f8ad1236ebaf2dbeb7df4312","isMergeCommit":false,"messageTitle":"Personalise chatbot with new name","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":10}}}]},{"date":"2023-08-24","commitResults":[{"hash":"c1bb6cbe20101ce3cd053a4a87afc95ad55257fd","isMergeCommit":false,"messageTitle":"Add horizontal divider","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":1}}},{"hash":"e635b63f30086ee72d4780a097661ab59746e9ad","isMergeCommit":false,"messageTitle":"Add greeter and goodbye to bot","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":3}}},{"hash":"3350b80aebc8c19e00f3b53f323748ab4de046a6","isMergeCommit":false,"messageTitle":"Add echo to bot","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":4}}},{"hash":"bbe66ec048a0ed17d7a3e0bb141154fb87f69807","isMergeCommit":false,"messageTitle":"Add list to bot","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":5}}},{"hash":"ddbc0fc510fbe3df28b16c084b702daf6902a2ac","isMergeCommit":false,"messageTitle":"Add task class to bot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":0}}},{"hash":"4ee1a1248294a1712ffb6391b8091c45f07fdbf6","isMergeCommit":false,"messageTitle":"Add todo, marking and unmarking","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":4}}},{"hash":"c49b974abf790c0bc4e3dd67295a4b4ef9db4d61","isMergeCommit":false,"messageTitle":"Add feedback to commands","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":2}}},{"hash":"1c254e566b2aae6d818f0c8f1b9387827e3e023a","isMergeCommit":false,"messageTitle":"Initialize Task subclasses","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":0}}},{"hash":"abc03abb42d2b15c23056643e933e77fe09511a8","isMergeCommit":false,"messageTitle":"Integrate Task Subclasses into Crusader.java","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":57,"deletions":0}}},{"hash":"819ea20e3984036cd80f69eb7c8e35816be12e08","isMergeCommit":false,"messageTitle":"Updated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"bat":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}},{"hash":"ad0e05151b2298a82c1b107be4ce7914886d4471","isMergeCommit":false,"messageTitle":"Implement basic error handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":59,"deletions":9}}},{"hash":"ef903cd37c1a99f2a06ff76087c05dec54474e55","isMergeCommit":false,"messageTitle":"Implement deletion of tasks","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":0}}}]},{"date":"2023-08-31","commitResults":[{"hash":"433424402f5e75e238b3f64c720d4b95a5eae314","isMergeCommit":false,"messageTitle":"Implement skeleton load and save functions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":16}}}]},{"date":"2023-09-01","commitResults":[{"hash":"00563c6ffeea0119dfd2fb2bbf872e63d2497692","isMergeCommit":false,"messageTitle":"Implement load and save","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":169,"deletions":84}}}]},{"date":"2023-09-02","commitResults":[{"hash":"bb9ca69b90a9d6b96ced3858388f307ce91952b1","isMergeCommit":false,"messageTitle":"Implement proper date and time representation","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":17}}},{"hash":"82cdfe441ca772fe31379385d79acfb969db758a","isMergeCommit":false,"messageTitle":"Rename variables to conform to convention","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3}}},{"hash":"c0a7bd563ca4cbc560cdfb22ef935f0be94422f1","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"6dcc385b4724ef36d33a57bdff121a8f579e8277","isMergeCommit":false,"messageTitle":"Rename variables to follow convention","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"d3f4bcc9c5145b1b4573292412f69ac8e3452401","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b3ccd7f235f288fd6346c12ecf84adbb93864ba1","isMergeCommit":false,"messageTitle":"Implement TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":73,"deletions":0}}},{"hash":"742ccc79814505e9450d4be5bd0f3c8684442a5e","isMergeCommit":false,"messageTitle":"Implement UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":0}}},{"hash":"c11cb6fe9ed3dc103efa116180a7fe82ecce1e7c","isMergeCommit":false,"messageTitle":"Implement prompting in UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":0}}},{"hash":"d880ec9c11d13fd10f59c8adb5110542fd86eebc","isMergeCommit":false,"messageTitle":"Implement date utilites","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":0}}},{"hash":"0c29f0c7aa3c06b38700d1bacbae12dda5500285","isMergeCommit":false,"messageTitle":"Implement storage utlilties","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":0}}},{"hash":"52cc2e28a09079d8521d86c3ed83a5f747060976","isMergeCommit":false,"messageTitle":"Add constructor to Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":9}}},{"hash":"6aef837304d15b77a6e5e3f077a60aa511710e15","isMergeCommit":false,"messageTitle":"Implement Exceptions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"b901636ddf5e9dac6ad9a372dc5bd792b5faca7a","isMergeCommit":false,"messageTitle":"Integrate Date utilities into Tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":14}}},{"hash":"dcdce47b49661c93509646d32c0a26218a349719","isMergeCommit":false,"messageTitle":"Implement alternative TaskList constructor","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"0f7614369ec8f395f52200b6915a0d16d82a25f8","isMergeCommit":false,"messageTitle":"Implement Command classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":86,"deletions":0}}},{"hash":"ba53551bb4b29402ef741b6d0efe23744e84ab8f","isMergeCommit":false,"messageTitle":"Implement Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":123,"deletions":0}}},{"hash":"175dce3b7afdc371a5114f72b42d6bbe37d2e0be","isMergeCommit":false,"messageTitle":"Clean up code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":24}}},{"hash":"159ed21d4ae1dcb6f515b7bbbba252371413b0a6","isMergeCommit":false,"messageTitle":"Integrate OOP classes into Crusader","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":336}}},{"hash":"04f43e5bbf7b726597920cfce15aaf2123628db1","isMergeCommit":false,"messageTitle":"Implement index range checks for array access","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":15}}},{"hash":"e0494fc4ad9151c4ef7369ea5a128a6a85d5b161","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"3c83b3108cb17d3b034a3d819ddaf13ea2208bd5","isMergeCommit":false,"messageTitle":"Reorganise code into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":109,"deletions":15},"bat":{"insertions":1,"deletions":1}}},{"hash":"edd679703cb93eb88d531df15495baab3666dafc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"7dfac4bdc5a7d00b704e93f2debdc6413401bf4a","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 into A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"f54a1e525d8a7bae3bb089578815394b489a057a","isMergeCommit":false,"messageTitle":"Add Gradle support for Crusader","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":2}}},{"hash":"530716809ee56bc88bca8e4395f99b0cae4e5acc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"53e7fecdc09f89a98aff58bee2bcede5c39da16c","isMergeCommit":false,"messageTitle":"Implement JUnit testing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":136,"deletions":1}}},{"hash":"54346afb224a10c7772451efe327f01bcf0796c3","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["v0.1","A-Jar","A-JUnit"],"fileTypesAndContributionMap":{}},{"hash":"dbabb789a0cceafa367393b73e72e77469490a44","isMergeCommit":false,"messageTitle":"Implement find command","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":0}}},{"hash":"d5d2a7708273ea603fdfc0afc7431042299da2a5","isMergeCommit":false,"messageTitle":"Add preliminary Javadocs to all files","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":202,"deletions":1}}},{"hash":"80e05cf7c40ef0a38510872b683533d9343f6f9f","isMergeCommit":false,"messageTitle":"Enforce CS2013T style convention","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":27}}},{"hash":"15840e38b4e560385dfb8f27309013137dabf70d","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"5a14e07ed96d4ee03092b59e10b1b68588db05ee","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"0c1df624cc4b85cb17d36e856fa43dca7f3548c6","isMergeCommit":true,"messageTitle":"Resolve merge conflict in Parser","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"s-kybound":{"java":1167,"md":0,"fxml":0,"sh":1,"bat":1,"gradle":2,"txt":12}},"authorContributionVariance":{"s-kybound":166029.48},"authorDisplayNameMap":{"s-kybound":"CS2103T-W17-1 KYRI..ABAD"}} +{"authorDailyContributionsMap":{"s-kybound":[{"date":"2023-08-23","commitResults":[{"hash":"254a81bcd9b6a590f8ad1236ebaf2dbeb7df4312","isMergeCommit":false,"messageTitle":"Personalise chatbot with new name","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":18,"deletions":10}}}]},{"date":"2023-08-24","commitResults":[{"hash":"c1bb6cbe20101ce3cd053a4a87afc95ad55257fd","isMergeCommit":false,"messageTitle":"Add horizontal divider","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":1}}},{"hash":"e635b63f30086ee72d4780a097661ab59746e9ad","isMergeCommit":false,"messageTitle":"Add greeter and goodbye to bot","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":3}}},{"hash":"3350b80aebc8c19e00f3b53f323748ab4de046a6","isMergeCommit":false,"messageTitle":"Add echo to bot","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":4}}},{"hash":"bbe66ec048a0ed17d7a3e0bb141154fb87f69807","isMergeCommit":false,"messageTitle":"Add list to bot","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":5}}},{"hash":"ddbc0fc510fbe3df28b16c084b702daf6902a2ac","isMergeCommit":false,"messageTitle":"Add task class to bot","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":0}}},{"hash":"4ee1a1248294a1712ffb6391b8091c45f07fdbf6","isMergeCommit":false,"messageTitle":"Add todo, marking and unmarking","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":4}}},{"hash":"c49b974abf790c0bc4e3dd67295a4b4ef9db4d61","isMergeCommit":false,"messageTitle":"Add feedback to commands","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":2}}},{"hash":"1c254e566b2aae6d818f0c8f1b9387827e3e023a","isMergeCommit":false,"messageTitle":"Initialize Task subclasses","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":39,"deletions":0}}},{"hash":"abc03abb42d2b15c23056643e933e77fe09511a8","isMergeCommit":false,"messageTitle":"Integrate Task Subclasses into Crusader.java","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":57,"deletions":0}}},{"hash":"819ea20e3984036cd80f69eb7c8e35816be12e08","isMergeCommit":false,"messageTitle":"Updated testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":0},"bat":{"insertions":1,"deletions":1},"sh":{"insertions":1,"deletions":1}}},{"hash":"ad0e05151b2298a82c1b107be4ce7914886d4471","isMergeCommit":false,"messageTitle":"Implement basic error handling","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":59,"deletions":9}}},{"hash":"ef903cd37c1a99f2a06ff76087c05dec54474e55","isMergeCommit":false,"messageTitle":"Implement deletion of tasks","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":0}}}]},{"date":"2023-08-31","commitResults":[{"hash":"433424402f5e75e238b3f64c720d4b95a5eae314","isMergeCommit":false,"messageTitle":"Implement skeleton load and save functions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":16}}}]},{"date":"2023-09-01","commitResults":[{"hash":"00563c6ffeea0119dfd2fb2bbf872e63d2497692","isMergeCommit":false,"messageTitle":"Implement load and save","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":169,"deletions":84}}}]},{"date":"2023-09-02","commitResults":[{"hash":"bb9ca69b90a9d6b96ced3858388f307ce91952b1","isMergeCommit":false,"messageTitle":"Implement proper date and time representation","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":69,"deletions":17}}},{"hash":"82cdfe441ca772fe31379385d79acfb969db758a","isMergeCommit":false,"messageTitle":"Rename variables to conform to convention","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3}}},{"hash":"c0a7bd563ca4cbc560cdfb22ef935f0be94422f1","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"6dcc385b4724ef36d33a57bdff121a8f579e8277","isMergeCommit":false,"messageTitle":"Rename variables to follow convention","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}},{"hash":"d3f4bcc9c5145b1b4573292412f69ac8e3452401","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b3ccd7f235f288fd6346c12ecf84adbb93864ba1","isMergeCommit":false,"messageTitle":"Implement TaskList","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":73,"deletions":0}}},{"hash":"742ccc79814505e9450d4be5bd0f3c8684442a5e","isMergeCommit":false,"messageTitle":"Implement UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":0}}},{"hash":"c11cb6fe9ed3dc103efa116180a7fe82ecce1e7c","isMergeCommit":false,"messageTitle":"Implement prompting in UI","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":0}}},{"hash":"d880ec9c11d13fd10f59c8adb5110542fd86eebc","isMergeCommit":false,"messageTitle":"Implement date utilites","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":0}}},{"hash":"0c29f0c7aa3c06b38700d1bacbae12dda5500285","isMergeCommit":false,"messageTitle":"Implement storage utlilties","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":82,"deletions":0}}},{"hash":"52cc2e28a09079d8521d86c3ed83a5f747060976","isMergeCommit":false,"messageTitle":"Add constructor to Storage","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":9}}},{"hash":"6aef837304d15b77a6e5e3f077a60aa511710e15","isMergeCommit":false,"messageTitle":"Implement Exceptions","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":0}}},{"hash":"b901636ddf5e9dac6ad9a372dc5bd792b5faca7a","isMergeCommit":false,"messageTitle":"Integrate Date utilities into Tasks","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":14}}},{"hash":"dcdce47b49661c93509646d32c0a26218a349719","isMergeCommit":false,"messageTitle":"Implement alternative TaskList constructor","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":0}}},{"hash":"0f7614369ec8f395f52200b6915a0d16d82a25f8","isMergeCommit":false,"messageTitle":"Implement Command classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":86,"deletions":0}}},{"hash":"ba53551bb4b29402ef741b6d0efe23744e84ab8f","isMergeCommit":false,"messageTitle":"Implement Parser","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":123,"deletions":0}}},{"hash":"175dce3b7afdc371a5114f72b42d6bbe37d2e0be","isMergeCommit":false,"messageTitle":"Clean up code","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":24,"deletions":24}}},{"hash":"159ed21d4ae1dcb6f515b7bbbba252371413b0a6","isMergeCommit":false,"messageTitle":"Integrate OOP classes into Crusader","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":336}}},{"hash":"04f43e5bbf7b726597920cfce15aaf2123628db1","isMergeCommit":false,"messageTitle":"Implement index range checks for array access","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":32,"deletions":15}}},{"hash":"e0494fc4ad9151c4ef7369ea5a128a6a85d5b161","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"3c83b3108cb17d3b034a3d819ddaf13ea2208bd5","isMergeCommit":false,"messageTitle":"Reorganise code into packages","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":109,"deletions":15},"bat":{"insertions":1,"deletions":1}}},{"hash":"edd679703cb93eb88d531df15495baab3666dafc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Packages\u0027","messageBody":"","tags":["A-Packages"],"fileTypesAndContributionMap":{}},{"hash":"7dfac4bdc5a7d00b704e93f2debdc6413401bf4a","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027 into A-Gradle","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"f54a1e525d8a7bae3bb089578815394b489a057a","isMergeCommit":false,"messageTitle":"Add Gradle support for Crusader","messageBody":"","fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":2}}},{"hash":"530716809ee56bc88bca8e4395f99b0cae4e5acc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-Gradle\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"53e7fecdc09f89a98aff58bee2bcede5c39da16c","isMergeCommit":false,"messageTitle":"Implement JUnit testing","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":136,"deletions":1}}},{"hash":"54346afb224a10c7772451efe327f01bcf0796c3","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["v0.1","A-Jar","A-JUnit"],"fileTypesAndContributionMap":{}},{"hash":"dbabb789a0cceafa367393b73e72e77469490a44","isMergeCommit":false,"messageTitle":"Implement find command","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":0}}},{"hash":"d5d2a7708273ea603fdfc0afc7431042299da2a5","isMergeCommit":false,"messageTitle":"Add preliminary Javadocs to all files","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":202,"deletions":1}}},{"hash":"80e05cf7c40ef0a38510872b683533d9343f6f9f","isMergeCommit":false,"messageTitle":"Enforce CS2013T style convention","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":27}}},{"hash":"15840e38b4e560385dfb8f27309013137dabf70d","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JavaDoc\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"5a14e07ed96d4ee03092b59e10b1b68588db05ee","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-CodingStandard\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"0c1df624cc4b85cb17d36e856fa43dca7f3548c6","isMergeCommit":true,"messageTitle":"Resolve merge conflict in Parser","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"51f2ff94eef96cb590ec802cb953a513f07309dc","isMergeCommit":false,"messageTitle":"Rename variable in Crusader","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5}}},{"hash":"eaee7a549958a842574b215132aef24e30a00b2f","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-Level-9\u0027","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"s-kybound":{"java":1167,"md":0,"fxml":0,"sh":1,"bat":1,"gradle":2,"txt":12}},"authorContributionVariance":{"s-kybound":167940.5},"authorDisplayNameMap":{"s-kybound":"CS2103T-W17-1 KYRI..ABAD"}} diff --git a/sheryew_ip_master/commits.json b/sheryew_ip_master/commits.json index d9b315de..a92b09a5 100644 --- a/sheryew_ip_master/commits.json +++ b/sheryew_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"sheryew":[{"date":"2023-08-22","commitResults":[{"hash":"310b12ae07e78927ed8b12c0e9fa2b26360eb535","isMergeCommit":false,"messageTitle":"Level 0.","messageBody":"Rename, Greet, Exit\n","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":6}}},{"hash":"456541837118f522890ebd2e9796455992bd29ae","isMergeCommit":false,"messageTitle":"Echo","messageBody":"Echo user commands\n","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}},{"hash":"865fcca9c0287434e0e3fa75192e600fab746a3c","isMergeCommit":false,"messageTitle":"Level 2","messageBody":"Add the ability to store whatever text entered by the user and display them back\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}},{"hash":"250fa14762769b57b41e7fd95539637954815b23","isMergeCommit":false,"messageTitle":"Level 3","messageBody":"Add the ability to mark tasks as done.\n","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":4}}},{"hash":"f68d9f37655a3e17de495210d5eb518f0612b92c","isMergeCommit":false,"messageTitle":"Level 4","messageBody":"ToDos, Events, Deadlines\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":124,"deletions":14}}}]},{"date":"2023-08-23","commitResults":[{"hash":"efc1b55747638f300d19689f64554b3b39bda481","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"Automated Text UI Testing\n-- Removed the code for initialising new scanner from the while loop\n","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":1,"deletions":1},"sh":{"insertions":0,"deletions":0}}},{"hash":"e594742c5fe81dece44d17152cc6aa5238140c36","isMergeCommit":false,"messageTitle":"Level 5","messageBody":"Handle Errors\n","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":153,"deletions":86}}}]},{"date":"2023-08-24","commitResults":[{"hash":"e702d061ab03f0f86bef622c3d7fbfc61c31b5e3","isMergeCommit":false,"messageTitle":"Level 6","messageBody":"Delete\nAlso edited a minor bug I found in level 5\n","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":12}}}]},{"date":"2023-08-29","commitResults":[{"hash":"50dc47f36949183e71a6e1a5d0598ac0bc63e580","isMergeCommit":false,"messageTitle":"Level 7. Save","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":93,"deletions":16}}},{"hash":"73605d41531fb967c4d22c4cc14160eeb6db653f","isMergeCommit":false,"messageTitle":"Level 8","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3},"java":{"insertions":45,"deletions":10}}},{"hash":"7f15fb800f5cb60416667acaedd9d87bf393b35c","isMergeCommit":false,"messageTitle":"A-MoreOOP","messageBody":"","tags":["A-MoreOOP_T","A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":2},"java":{"insertions":323,"deletions":228}}}]},{"date":"2023-08-30","commitResults":[{"hash":"350f27f5f37f3a55702aa7e524c83a10dbfc00aa","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/add-gradle-support\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"d4254ec9afb3c13808f70576880290f6416b1aaa","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/add-gradle-support\u0027 into A_Packages","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c33d601763f082f3eb7452a2206fa2bd26ee7e53","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"Removed README.md as it was conflicting with my migration of Duke into duke package repo\n","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":3},"bat":{"insertions":1,"deletions":1},"md":{"insertions":0,"deletions":24}}},{"hash":"cb1ed991e64bf3611f028387413196dcf783614e","isMergeCommit":true,"messageTitle":"Merge branch \u0027A_Packages\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c0c749eeb64f43120b509f383ad94b1943cad087","isMergeCommit":false,"messageTitle":"A-JUnit","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":0}}},{"hash":"af77b4d3bfdb2c8a84671c2c70a83a9cc1b1d898","isMergeCommit":false,"messageTitle":"A-Jar","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":4},"java":{"insertions":11,"deletions":5}}}]},{"date":"2023-08-31","commitResults":[{"hash":"b7fc0f61dd416b941b1cb7ebd15328ea112b6f87","isMergeCommit":false,"messageTitle":"Add JavaDoc comments","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":96,"deletions":6}}},{"hash":"f267323ba5dfb505ebf78ad6e6115458ceeeb335","isMergeCommit":false,"messageTitle":"Tweak the code to comply with a coding standard","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":2},"java":{"insertions":37,"deletions":60}}},{"hash":"f1d1058703e81f1d0afda9eda8f5a675e64f9a88","isMergeCommit":false,"messageTitle":"Find a task by searching for a keyword","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":20,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"sheryew":{"java":597,"md":0,"fxml":0,"sh":0,"bat":1,"gradle":2,"txt":12}},"authorContributionVariance":{"sheryew":37737.43},"authorDisplayNameMap":{"sheryew":"TAN .. YEW"}} +{"authorDailyContributionsMap":{"sheryew":[{"date":"2023-08-22","commitResults":[{"hash":"310b12ae07e78927ed8b12c0e9fa2b26360eb535","isMergeCommit":false,"messageTitle":"Level 0.","messageBody":"Rename, Greet, Exit\n","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":4,"deletions":6}}},{"hash":"456541837118f522890ebd2e9796455992bd29ae","isMergeCommit":false,"messageTitle":"Echo","messageBody":"Echo user commands\n","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":15,"deletions":1}}},{"hash":"865fcca9c0287434e0e3fa75192e600fab746a3c","isMergeCommit":false,"messageTitle":"Level 2","messageBody":"Add the ability to store whatever text entered by the user and display them back\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":1}}},{"hash":"250fa14762769b57b41e7fd95539637954815b23","isMergeCommit":false,"messageTitle":"Level 3","messageBody":"Add the ability to mark tasks as done.\n","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":4}}},{"hash":"f68d9f37655a3e17de495210d5eb518f0612b92c","isMergeCommit":false,"messageTitle":"Level 4","messageBody":"ToDos, Events, Deadlines\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":124,"deletions":14}}}]},{"date":"2023-08-23","commitResults":[{"hash":"efc1b55747638f300d19689f64554b3b39bda481","isMergeCommit":false,"messageTitle":"A-TextUiTesting","messageBody":"Automated Text UI Testing\n-- Removed the code for initialising new scanner from the while loop\n","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":7,"deletions":0},"java":{"insertions":1,"deletions":1},"sh":{"insertions":0,"deletions":0}}},{"hash":"e594742c5fe81dece44d17152cc6aa5238140c36","isMergeCommit":false,"messageTitle":"Level 5","messageBody":"Handle Errors\n","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":153,"deletions":86}}}]},{"date":"2023-08-24","commitResults":[{"hash":"e702d061ab03f0f86bef622c3d7fbfc61c31b5e3","isMergeCommit":false,"messageTitle":"Level 6","messageBody":"Delete\nAlso edited a minor bug I found in level 5\n","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":20,"deletions":12}}}]},{"date":"2023-08-29","commitResults":[{"hash":"50dc47f36949183e71a6e1a5d0598ac0bc63e580","isMergeCommit":false,"messageTitle":"Level 7. Save","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":93,"deletions":16}}},{"hash":"73605d41531fb967c4d22c4cc14160eeb6db653f","isMergeCommit":false,"messageTitle":"Level 8","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3},"java":{"insertions":45,"deletions":10}}},{"hash":"7f15fb800f5cb60416667acaedd9d87bf393b35c","isMergeCommit":false,"messageTitle":"A-MoreOOP","messageBody":"","tags":["A-MoreOOP_T","A-MoreOOP"],"fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":2},"java":{"insertions":323,"deletions":228}}}]},{"date":"2023-08-30","commitResults":[{"hash":"350f27f5f37f3a55702aa7e524c83a10dbfc00aa","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/add-gradle-support\u0027","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{}},{"hash":"d4254ec9afb3c13808f70576880290f6416b1aaa","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/add-gradle-support\u0027 into A_Packages","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c33d601763f082f3eb7452a2206fa2bd26ee7e53","isMergeCommit":false,"messageTitle":"A-Packages","messageBody":"Removed README.md as it was conflicting with my migration of Duke into duke package repo\n","tags":["A-Packages"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":3},"bat":{"insertions":1,"deletions":1},"md":{"insertions":0,"deletions":24}}},{"hash":"cb1ed991e64bf3611f028387413196dcf783614e","isMergeCommit":true,"messageTitle":"Merge branch \u0027A_Packages\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c0c749eeb64f43120b509f383ad94b1943cad087","isMergeCommit":false,"messageTitle":"A-JUnit","messageBody":"","tags":["A-JUnit"],"fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":0}}},{"hash":"af77b4d3bfdb2c8a84671c2c70a83a9cc1b1d898","isMergeCommit":false,"messageTitle":"A-Jar","messageBody":"","tags":["A-Jar"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":4},"java":{"insertions":11,"deletions":5}}}]},{"date":"2023-08-31","commitResults":[{"hash":"b7fc0f61dd416b941b1cb7ebd15328ea112b6f87","isMergeCommit":false,"messageTitle":"Add JavaDoc comments","messageBody":"","tags":["A-JavaDoc"],"fileTypesAndContributionMap":{"java":{"insertions":96,"deletions":6}}},{"hash":"f267323ba5dfb505ebf78ad6e6115458ceeeb335","isMergeCommit":false,"messageTitle":"Tweak the code to comply with a coding standard","messageBody":"","tags":["A-CodingStandard"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":2},"java":{"insertions":37,"deletions":60}}},{"hash":"f1d1058703e81f1d0afda9eda8f5a675e64f9a88","isMergeCommit":false,"messageTitle":"Find a task by searching for a keyword","messageBody":"","tags":["Level-9"],"fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":0},"java":{"insertions":20,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"sheryew":{"java":597,"md":0,"fxml":0,"sh":0,"bat":1,"gradle":2,"txt":12}},"authorContributionVariance":{"sheryew":37737.43},"authorDisplayNameMap":{"sheryew":"CS2103-F13-2 TAN .. YEW"}} diff --git a/summary.json b/summary.json index 8cdbb4dc..054cef25 100644 --- a/summary.json +++ b/summary.json @@ -1 +1 @@ -{"repoSenseVersion":"3bad16bb3d","reportGeneratedTime":"Sat Sep 2 22:25:07 2023 UTC+08:00","reportGenerationTime":" 1 minute(s) 39.71 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-02","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":"Sat Sep 2 22:44:38 2023 UTC+08:00","reportGenerationTime":" 1 minute(s) 31.77 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-02","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/vivienherq_ip_master/commits.json b/vivienherq_ip_master/commits.json index c00423bb..25dc8d79 100644 --- a/vivienherq_ip_master/commits.json +++ b/vivienherq_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"vivienherq":[{"date":"2023-08-23","commitResults":[{"hash":"4b12bd630068eddc46a497eb0bacd4eb5b6cd30c","isMergeCommit":false,"messageTitle":"rename","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"a6f13d3c9e8d57d81c0b91954d960e55bd88cbf8","isMergeCommit":false,"messageTitle":"greet \u0026 exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":6}}},{"hash":"6ae3cc1187cea177e5bf90f51a98e7ee5945d898","isMergeCommit":false,"messageTitle":"echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":8}}},{"hash":"cfc7c19c6049d628d97d7c73e21026ff47873e5a","isMergeCommit":false,"messageTitle":"store \u0026 list","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":5}}},{"hash":"ae180ceec8b3da7a6e309aa679bb29ac05a25aeb","isMergeCommit":false,"messageTitle":"task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":6}}},{"hash":"07d666a77604d993ac2f24556ce7e55f17f31b97","isMergeCommit":false,"messageTitle":"mark \u0026 unmark","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"4cec3c5b487cf68908036ea47d2395c546f4f6fc","isMergeCommit":false,"messageTitle":"lvl4 todo, event \u0026 deadline classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":1}}},{"hash":"a056e50c7a0d56c8be62157b349a313442e1d75a","isMergeCommit":false,"messageTitle":"lvl4 todo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":11}}}]},{"date":"2023-08-24","commitResults":[{"hash":"acbfead0bb0ded72b36cd925e8ca94f37d751145","isMergeCommit":false,"messageTitle":"lvl4 create todos, events, deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":64,"deletions":30}}}]},{"date":"2023-09-01","commitResults":[{"hash":"0dadc7273a4bfb1555d278ea33b42381a8a57de6","isMergeCommit":false,"messageTitle":"lvl 5 handle errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"91b96cfd20270856a02d67b1730a00b36be33621","isMergeCommit":false,"messageTitle":"lvl 6 delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":9}}}]}]},"authorFileTypeContributionMap":{"vivienherq":{"java":195,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"vivienherq":2864.9954},"authorDisplayNameMap":{"vivienherq":"HE R..VIEN"}} +{"authorDailyContributionsMap":{"vivienherq":[{"date":"2023-08-23","commitResults":[{"hash":"4b12bd630068eddc46a497eb0bacd4eb5b6cd30c","isMergeCommit":false,"messageTitle":"rename","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"a6f13d3c9e8d57d81c0b91954d960e55bd88cbf8","isMergeCommit":false,"messageTitle":"greet \u0026 exit","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":10,"deletions":6}}},{"hash":"6ae3cc1187cea177e5bf90f51a98e7ee5945d898","isMergeCommit":false,"messageTitle":"echo","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":23,"deletions":8}}},{"hash":"cfc7c19c6049d628d97d7c73e21026ff47873e5a","isMergeCommit":false,"messageTitle":"store \u0026 list","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":5}}},{"hash":"ae180ceec8b3da7a6e309aa679bb29ac05a25aeb","isMergeCommit":false,"messageTitle":"task class","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":36,"deletions":6}}},{"hash":"07d666a77604d993ac2f24556ce7e55f17f31b97","isMergeCommit":false,"messageTitle":"mark \u0026 unmark","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":0}}},{"hash":"4cec3c5b487cf68908036ea47d2395c546f4f6fc","isMergeCommit":false,"messageTitle":"lvl4 todo, event \u0026 deadline classes","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":16,"deletions":1}}},{"hash":"a056e50c7a0d56c8be62157b349a313442e1d75a","isMergeCommit":false,"messageTitle":"lvl4 todo","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":37,"deletions":11}}}]},{"date":"2023-08-24","commitResults":[{"hash":"acbfead0bb0ded72b36cd925e8ca94f37d751145","isMergeCommit":false,"messageTitle":"lvl4 create todos, events, deadlines","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":64,"deletions":30}}}]},{"date":"2023-09-01","commitResults":[{"hash":"0dadc7273a4bfb1555d278ea33b42381a8a57de6","isMergeCommit":false,"messageTitle":"lvl 5 handle errors","messageBody":"","tags":["Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":2}}},{"hash":"91b96cfd20270856a02d67b1730a00b36be33621","isMergeCommit":false,"messageTitle":"lvl 6 delete","messageBody":"","tags":["Level-6"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":9}}}]}]},"authorFileTypeContributionMap":{"vivienherq":{"java":195,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":0}},"authorContributionVariance":{"vivienherq":2864.9954},"authorDisplayNameMap":{"vivienherq":"CS2103-F13-3 HE R..VIEN"}} diff --git a/xavierpok_ip_master/commits.json b/xavierpok_ip_master/commits.json index b548cdad..99336aa6 100644 --- a/xavierpok_ip_master/commits.json +++ b/xavierpok_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"xavierpok":[{"date":"2023-08-20","commitResults":[{"hash":"8edc3a7d9952ab3327e1fe85148d9f98a7089eed","isMergeCommit":false,"messageTitle":"Implements Level 0 features of the Duke (Re-named to Kniaz for this version) chatbot. This refers to just renaming the chatbot, and implementing a skeletal version that greets the user and exits.","messageBody":"Adds two new private fields, LOGO and SEPERATOR, to help with this, which hold the logo and horizontal seperator lines respectively (Seperator lines are to help with formatting)\n","tags":["level-0"],"fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":10}}},{"hash":"2235c7222b2b49581657e87f787ecd2d94b74737","isMergeCommit":false,"messageTitle":"Implements level 1 features \u0026 adds (public) constant fields.","messageBody":"Level 1 features just refers to echoing any input given by the user. Also adds a public field EXITSTRING which is the input that will cause Kniaz to exit. Adds private field EXITMESSAGE that is the message that prints on exit.\n","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":2}}},{"hash":"64cb410ed17bd85d73d43b64a3a688a17207418d","isMergeCommit":false,"messageTitle":"Adds ability to store text entered by user and display back when requested","messageBody":"When a string that isn\u0027t interpreted as a command is input, adds it to internal storage. When list is input, displays the list. Note : \u0027bye\u0027 is retained as a command still.\n\nAlso adds a new private function to format this task list as a string.\n","tags":["Proto-Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":4}}},{"hash":"5d3ce9d71055c5a4e69bd79d26713cd4ec457bf3","isMergeCommit":false,"messageTitle":"Final version of Level 2","messageBody":"Makes edits to code formatting, functionality is the same. Redundant while statement amended to while(True), and System.out.println of String.format call amended to System.out.printf\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}}]},{"date":"2023-08-21","commitResults":[{"hash":"19395e77781a58c792d61ad8b9fb61ef7c8796d0","isMergeCommit":false,"messageTitle":"Adds ability to mark/unmark tasks as done/undone with accompanying message. Adds Task and TaskList classes to encapsulate tasks, and lists of tasks respectively.","messageBody":"","tags":["Proto-Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":25}}},{"hash":"ea42ab472f0909c6bab2a2b1e7143e1007541a14","isMergeCommit":false,"messageTitle":"Documents additions in previous commit, tagged Proto-Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":15}}},{"hash":"1c4147be615c39d8f04c42e1d765c494bb313467","isMergeCommit":false,"messageTitle":"Implements ToDos, Deadlines and Events, as well as input/output (i.e. commands and printing to Kniaz\u0027s command line) for said tasks, and refactors Task printing slightly.","messageBody":"Feature expansion to hit Level 4.\n\nToDos are Tasks without dates/times, Deadlines are Tasks with a singular due date/times, Events are Tasks with a start/stop.\n\nAlso refactors Task to be an abstract class for ToDo to inherit from.\n\nThis is a slight shift of paradigm, as a Task would be something you need to do, but alone contains insufficient information.\n\nToDos lack time as it\u0027s just something the user has to do -- time isn\u0027t relevant here\n\nA deadline naturally has a due date.\n\nEvents in Kniaz are defined by start-stop in addition to the name, which is a natural abstraction of an event (Kniaz doesn\u0027t care about place (yet?))\n\nLastly, string representation to output of Tasks in Kniaz\u0027s output has been shifted from toString() to toPrintString(), to diffrentiate between input meant SOLELY for the user (which is toPrintString())\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":192,"deletions":35}}}]},{"date":"2023-08-22","commitResults":[{"hash":"aa05fdd9eb7a66ecd30a14409a19c0c99b793bc5","isMergeCommit":false,"messageTitle":"Patches user-facing string rep of Event, adding a whitespace in front of \"from\"","messageBody":"Needed to make it adhere closer to expected output, as no whitespace means \"from\" sticks to the previous string\n\nImproves output seen by user\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"4edd8aa590021e40deb3e4e4f634949523b82df9","isMergeCommit":false,"messageTitle":"Patches user-facing string rep of Event, adding a whitespace in front of \"from\"","messageBody":"Needed to make it adhere closer to expected output, as no whitespace means \"from\" sticks to the previous string\n\nImproves output seen by user\n","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3}}},{"hash":"2dc0cdd489b3a2c4fe3ace396d0aff4f935e7c85","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/master\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b64b8b212320eb074c2cc9d88b09bcbfe37cb90d","isMergeCommit":false,"messageTitle":"Adds (single) semi-automated test case for use with runtest.sh","messageBody":"Allows for quick verification of input/output, comparing EXPECTED against input and actual output.\n\nExpected is to be updated with further edits to behaviour of Kniaz.\n","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"062b4c493051750b3e93c57b0678b52c6932280b","isMergeCommit":false,"messageTitle":"Adds user error reporting, moves a significant amount of parsing and event logic out of Kniaz, and adds a new Exception, KniazRuntimeException","messageBody":"User error reporting is useful, as the user would naturally want to know what they did wrong.\n\nMoves parsing of commands into KniazParser, which now handles parsing of commands. It seperates commands into what kind of commands and their arguments\n\nMoves logic of commands into the logic.taskhandling package. The classes within take in the text-interface command arguments as Strings and work through the logic of how to operate on those. E.g., the ToDo name is passed to a ToDoHandler which decides what to do with this.\n\nMoving of parsing helps to keep Kniaz clean, and seperate how we decide to parse the command given to Kniaz seperate from the main Kniaz loop. This is important as there are many ways to parse arguments, and we might decide another way is better. This also allows for better exception handling, as Kniaz does not need to do input validation, and just passes it off to another class. All Kniaz has to do now is to grab whatever exception is thrown up and figure out what to do(Which is a lot easier!)\n\nSimilarly, for logic, we might decide to refactor it later, and this helps keep Kniaz clean. Notably, validation of the arguments provided can be handled seperately. For example, ToDo will only expect ONE argument, but the user might decide to provide two. Getting Kniaz or KniazParser to handle this borders on scope creep of what these classes are meant to do. Also offers similar benefits in exception handling as per the paragraph above about KniazParser.\n\nAddition of the new Exception is to support these new features. Notably, the addition of a seperate userMessage field supports two different exception reporting pipelines, to support good user experience. It\u0027s reasonable that more information might be needed to debug for future feature additions/refactors that might overwhelm or confuse the user, but a developer might find useful.\n\nModifies test cases to reflect the new change in behaviour\n","tags":["Level-5","A-Enums"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":410,"deletions":77},"sh":{"insertions":1,"deletions":1}}},{"hash":"332889531bee5f136a77dad7a4241b3965bae9fd","isMergeCommit":false,"messageTitle":"Documents code added in previous commit(Tagged Level-5), Converts all commandHandler classes in logic-\u003etaskhandling package to be abstract classes","messageBody":"Documentation was not done previously, this commit fixes that\n\nClasses should be abstract, as they contain only static methods and should not be instantiated.\n","tags":["Documents-Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":226,"deletions":35}}},{"hash":"78a3b735b71723515201aeca51722574b636939f","isMergeCommit":false,"messageTitle":"Updates test case","messageBody":"Amends and expands input.txt and EXPECTED.txt to be accurate to new features, including invalid input handling\n","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0}}},{"hash":"70936e2f5385afb377ee8a0b1c20fdb73db87db0","isMergeCommit":false,"messageTitle":"Implements task deletion, and fixes formatting \u0026 documentation in TaskList, and adds whitespace stripping to parseCommand","messageBody":"DeleteHandler follows the same design pattern for the other commands, and additions in Kniaz and KniazParser are needed to accomodate the new command.\n\nAdding deletion is a useful feature because sometimes the user makes a mistake or wants to permanently delete a task to shorten the list\n\nAlso adds test case for demonstration of new behaviour\n\nparseCommand stripping whitespace brings it closer to user-expected behaviour because it\u0027s natural to expect that leading/trailing whitespaces would be ignored\n\nLastly, fixing of formatting and adding documentation is good because style guide and it\u0027s good to document\n","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":109,"deletions":17}}}]},{"date":"2023-08-27","commitResults":[{"hash":"39cb07556bf46f4581064868e29649ab7efeead0","isMergeCommit":false,"messageTitle":"Implement saving","messageBody":"Currently, Kniaz forgets all data on new session\n\nLet it save to remember from previous session.\n","tags":["Saving"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":1}}}]},{"date":"2023-08-28","commitResults":[{"hash":"a9c7aacc5917b29c51c456731c7bfa3675aba531","isMergeCommit":false,"messageTitle":"Implement loading on Kniaz start","messageBody":"Previous commit tagged Saving only saves, does not load\n\nSaving only makes sense if Kniaz loads saved data\n","tags":["Loading"],"fileTypesAndContributionMap":{"java":{"insertions":60,"deletions":10}}},{"hash":"a75de4dda04b579ce247ebff744404d1d2298adb","isMergeCommit":false,"messageTitle":"Write javadoc strings for commits tagged Saving, Loading","messageBody":"Previous commits implemented functionality, lacked javadoc strings.\n\nDocumentation is good.\n","tags":["Level-7","Documents-Saving-Loading"],"fileTypesAndContributionMap":{"java":{"insertions":78,"deletions":9}}},{"hash":"d6e3967c81cd09beea7eba545506e9dd7c9d0a85","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"3089cc5a9441a0307f640190679c11dc7b186387","isMergeCommit":false,"messageTitle":"Implement date-time parsing","messageBody":"Currently, stores date-time only as Strings, no parsing\n\nShould parse to allow for flexibility and organised output for better UX\n","tags":["date-time-parse"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":1},"java":{"insertions":67,"deletions":8}}},{"hash":"c06f521a0f9d7669d795e789693aaabf81c14928","isMergeCommit":false,"messageTitle":"Write javadoc strings \u0026 fix code standard issues","messageBody":"Documentation \u0026 code standards are important\n\nModify access on class members to keep the API good and upkeep good OOP\n","tags":["document-date-time-parsing"],"fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":8}}},{"hash":"41bd70669f302c7ec49da542e3a5d300076c83be","isMergeCommit":false,"messageTitle":"Update test cases","messageBody":"Test cases were unmodified, outdated\n\nModification to reflect new behaviour is good\n","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3}}},{"hash":"3fd07aa07206e78bb37f5787552447523d835a11","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"babda4953a4eb158cadcbad5f3c228ed79754128","isMergeCommit":false,"messageTitle":"Create new package io","messageBody":"Prepare to seperate I/O into another package for better OOP practices\n","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":0}}},{"hash":"6a589990e06a7764e44646b49a34dfb18423a1ea","isMergeCommit":false,"messageTitle":"Move parser package to io \u0026 rename","messageBody":"Was not under io package previously\n\nParsing of incoming inputs should be under io package\n","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":48}}},{"hash":"e18cf334fbd23482fa3fa6aa2c2a418a0b98ff52","isMergeCommit":false,"messageTitle":"Seperate InstructionType into own class","messageBody":"Was inner class of KniazParser\n\nNow, seperate to make cleaner, needed as more functionality added on\n","fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":0}}},{"hash":"cb5b7c6dbd86ce05979c2b9b8f2879dbf40b09cd","isMergeCommit":false,"messageTitle":"Create exception class shells","messageBody":"One type of exception covers all Kniaz exception, very unspecific\n\nExpand types to prepare for I/O refactor later\n","fileTypesAndContributionMap":{"java":{"insertions":53,"deletions":0}}}]},{"date":"2023-08-29","commitResults":[{"hash":"a66b5f9d8bdfcc51f2290ceb12da49debc58d973","isMergeCommit":false,"messageTitle":"Refactor command handling \u0026 parsing","messageBody":"Command handling code used to handle parsing also, and was messy.\n\nSplit command handling \u0026 parsing to be more functional in paradigm.\n\nBetter design helps maintain and extend\n","fileTypesAndContributionMap":{"java":{"insertions":696,"deletions":567}}},{"hash":"99c9444e87788a28278d379db8f038b700f62032","isMergeCommit":false,"messageTitle":"Finish implementation and add javadocs","messageBody":"Had some small errors and unfinished docs\n\nShould be cleaned up and documentation thrown in for future reference\n","fileTypesAndContributionMap":{"java":{"insertions":192,"deletions":77}}},{"hash":"f686cc77078b9a82c386ca00b33d202079345fd6","isMergeCommit":false,"messageTitle":"Fix error in CommandFactory, KniazCommand","messageBody":"Now, does not make sense or works\n\nSensible and working code is good\n","fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":18}}},{"hash":"4129af5f9517f7dc507fc5ccc8f8da4557eab2e1","isMergeCommit":false,"messageTitle":"Fix errors, finish implementation of OOP","messageBody":"Previously was undone, finish refactor\n\nBetter methodology and structure is good for design\n\nCurrent implementation lacking exception handling, output is bare-bones\n","fileTypesAndContributionMap":{"java":{"insertions":568,"deletions":449}}}]},{"date":"2023-08-30","commitResults":[{"hash":"333ec1635e19624b33dda2075b41c551af904f96","isMergeCommit":false,"messageTitle":"Make chatbot have more personality in responses","messageBody":"Previous refactor removed due to re-implementation of I/O\n\nFeature re-addition after refactor is good to return to behaviour\n\nCurrent design also more extensible overall than previous design\n","fileTypesAndContributionMap":{"java":{"insertions":59,"deletions":5}}},{"hash":"9444dd5d08b8afa082f92f7d7e57a25612cc103f","isMergeCommit":false,"messageTitle":"Add missing javadoc strings \u0026 inline comments","messageBody":"Previously, missing javadoc strings \u0026 inline comments in code.\n\nConsistent documentation is a good thing.\n","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":127,"deletions":56}}},{"hash":"67a18a7397778b1f3c2e37a491e8b0fa4a271c29","isMergeCommit":false,"messageTitle":"Fix bugs in line parsing","messageBody":"Previously, read each whitespace delimited string as an unnamed argument\n\nI.e. it would interpret \"todo read book\" w/ args \"read\"\u0026\"book\"\n\nFix this to be in line with old \u0026 expected behaviour\n","fileTypesAndContributionMap":{"java":{"insertions":60,"deletions":32}}},{"hash":"31e3a49af8d6b6fc55e7db72ee65c2cca5c7dc9c","isMergeCommit":false,"messageTitle":"Update exceptions, use \u0026 handle new exceptions","messageBody":"Fine-tune exception types and implement where appropriate\n\nBetter practices, as more specific exceptions are better\n\nWhen exception is thrown, more information about what kind of exception\n\nPrevious commits did not handle exception after refactor\n\nHandling certain exceptions that are expected to crop up is good\n","fileTypesAndContributionMap":{"java":{"insertions":262,"deletions":109}}},{"hash":"05320ac4478ac660386cd93f248d670dde86d7ed","isMergeCommit":false,"messageTitle":"Update test case to match expected behaviour","messageBody":"Changes changed behaviour slightly, update to match expected output\n\nUpdating test case is good because now it reflects actual expected\n","fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0}}},{"hash":"5849176d22047afb8b229924487c8296a47a3ddf","isMergeCommit":false,"messageTitle":"Add comments explaining why things were done","messageBody":"Documentation is good\n","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"187f9936ccf46980ccc8b29cc5918dc70459345d","isMergeCommit":false,"messageTitle":"Removes unused import statements and fixes javadoc","messageBody":"Code style and documentation standards are good\n","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":6}}}]},{"date":"2023-08-31","commitResults":[{"hash":"f66d837c3eda91562b05defedb7257fbe0284e81","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-Packages","A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"cd27a61e0ac51fa46d87f90de79cc772351f8cc9","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"254b64a3c486d85c89fe4f9a40c824fc830c65a4","isMergeCommit":false,"messageTitle":"Add \u0026 configure gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":1}}},{"hash":"df53fb75f7fe79ea41f714a729c7c896a28190ca","isMergeCommit":false,"messageTitle":"Add no-arg constructor to KniazSession","messageBody":"Useful for instantiating anonymous instances -- Lack all behaviour as no fields\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"909b5d12e489483b4635e496e25d585e5a77fa9e","isMergeCommit":false,"messageTitle":"Add tests for DeadlineHandler, DeleteHandler","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":168,"deletions":0}}},{"hash":"448a55fdf62e7a0c6910ff558fe7fc9ecd3132bc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["A-JavaDoc","A-Jar","A-JUnit","A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"12a0356806bdbcf8895bdc7164c166d3bb4d180f","isMergeCommit":false,"messageTitle":"Add new find command","messageBody":"Feature expansion, useful if user has many tasks in their task list.\n","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":75,"deletions":1}}},{"hash":"43a76ebe9b0666b627973b7e0d56996734fd5f85","isMergeCommit":false,"messageTitle":"Edit name of built jar via shadowjar to Kniaz","messageBody":"Kniaz is the name of our program, NOT duke.\n","tags":["Incidental-Fix"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"055c4b63a3261a2ea01a041094b2925a4f2e90d8","isMergeCommit":true,"messageTitle":"Merge branch \u0027Branch-L-9\u0027","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"xavierpok":{"java":2350,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":3,"txt":32}},"authorContributionVariance":{"xavierpok":450526.4},"authorDisplayNameMap":{"xavierpok":"POK ..VIER"}} +{"authorDailyContributionsMap":{"xavierpok":[{"date":"2023-08-20","commitResults":[{"hash":"8edc3a7d9952ab3327e1fe85148d9f98a7089eed","isMergeCommit":false,"messageTitle":"Implements Level 0 features of the Duke (Re-named to Kniaz for this version) chatbot. This refers to just renaming the chatbot, and implementing a skeletal version that greets the user and exits.","messageBody":"Adds two new private fields, LOGO and SEPERATOR, to help with this, which hold the logo and horizontal seperator lines respectively (Seperator lines are to help with formatting)\n","tags":["level-0"],"fileTypesAndContributionMap":{"java":{"insertions":43,"deletions":10}}},{"hash":"2235c7222b2b49581657e87f787ecd2d94b74737","isMergeCommit":false,"messageTitle":"Implements level 1 features \u0026 adds (public) constant fields.","messageBody":"Level 1 features just refers to echoing any input given by the user. Also adds a public field EXITSTRING which is the input that will cause Kniaz to exit. Adds private field EXITMESSAGE that is the message that prints on exit.\n","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":26,"deletions":2}}},{"hash":"64cb410ed17bd85d73d43b64a3a688a17207418d","isMergeCommit":false,"messageTitle":"Adds ability to store text entered by user and display back when requested","messageBody":"When a string that isn\u0027t interpreted as a command is input, adds it to internal storage. When list is input, displays the list. Note : \u0027bye\u0027 is retained as a command still.\n\nAlso adds a new private function to format this task list as a string.\n","tags":["Proto-Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":4}}},{"hash":"5d3ce9d71055c5a4e69bd79d26713cd4ec457bf3","isMergeCommit":false,"messageTitle":"Final version of Level 2","messageBody":"Makes edits to code formatting, functionality is the same. Redundant while statement amended to while(True), and System.out.println of String.format call amended to System.out.printf\n","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":4}}}]},{"date":"2023-08-21","commitResults":[{"hash":"19395e77781a58c792d61ad8b9fb61ef7c8796d0","isMergeCommit":false,"messageTitle":"Adds ability to mark/unmark tasks as done/undone with accompanying message. Adds Task and TaskList classes to encapsulate tasks, and lists of tasks respectively.","messageBody":"","tags":["Proto-Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":113,"deletions":25}}},{"hash":"ea42ab472f0909c6bab2a2b1e7143e1007541a14","isMergeCommit":false,"messageTitle":"Documents additions in previous commit, tagged Proto-Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":58,"deletions":15}}},{"hash":"1c4147be615c39d8f04c42e1d765c494bb313467","isMergeCommit":false,"messageTitle":"Implements ToDos, Deadlines and Events, as well as input/output (i.e. commands and printing to Kniaz\u0027s command line) for said tasks, and refactors Task printing slightly.","messageBody":"Feature expansion to hit Level 4.\n\nToDos are Tasks without dates/times, Deadlines are Tasks with a singular due date/times, Events are Tasks with a start/stop.\n\nAlso refactors Task to be an abstract class for ToDo to inherit from.\n\nThis is a slight shift of paradigm, as a Task would be something you need to do, but alone contains insufficient information.\n\nToDos lack time as it\u0027s just something the user has to do -- time isn\u0027t relevant here\n\nA deadline naturally has a due date.\n\nEvents in Kniaz are defined by start-stop in addition to the name, which is a natural abstraction of an event (Kniaz doesn\u0027t care about place (yet?))\n\nLastly, string representation to output of Tasks in Kniaz\u0027s output has been shifted from toString() to toPrintString(), to diffrentiate between input meant SOLELY for the user (which is toPrintString())\n","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":192,"deletions":35}}}]},{"date":"2023-08-22","commitResults":[{"hash":"aa05fdd9eb7a66ecd30a14409a19c0c99b793bc5","isMergeCommit":false,"messageTitle":"Patches user-facing string rep of Event, adding a whitespace in front of \"from\"","messageBody":"Needed to make it adhere closer to expected output, as no whitespace means \"from\" sticks to the previous string\n\nImproves output seen by user\n","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"4edd8aa590021e40deb3e4e4f634949523b82df9","isMergeCommit":false,"messageTitle":"Patches user-facing string rep of Event, adding a whitespace in front of \"from\"","messageBody":"Needed to make it adhere closer to expected output, as no whitespace means \"from\" sticks to the previous string\n\nImproves output seen by user\n","fileTypesAndContributionMap":{"java":{"insertions":3,"deletions":3}}},{"hash":"2dc0cdd489b3a2c4fe3ace396d0aff4f935e7c85","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027origin/master\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"b64b8b212320eb074c2cc9d88b09bcbfe37cb90d","isMergeCommit":false,"messageTitle":"Adds (single) semi-automated test case for use with runtest.sh","messageBody":"Allows for quick verification of input/output, comparing EXPECTED against input and actual output.\n\nExpected is to be updated with further edits to behaviour of Kniaz.\n","fileTypesAndContributionMap":{"txt":{"insertions":5,"deletions":0}}}]},{"date":"2023-08-23","commitResults":[{"hash":"062b4c493051750b3e93c57b0678b52c6932280b","isMergeCommit":false,"messageTitle":"Adds user error reporting, moves a significant amount of parsing and event logic out of Kniaz, and adds a new Exception, KniazRuntimeException","messageBody":"User error reporting is useful, as the user would naturally want to know what they did wrong.\n\nMoves parsing of commands into KniazParser, which now handles parsing of commands. It seperates commands into what kind of commands and their arguments\n\nMoves logic of commands into the logic.taskhandling package. The classes within take in the text-interface command arguments as Strings and work through the logic of how to operate on those. E.g., the ToDo name is passed to a ToDoHandler which decides what to do with this.\n\nMoving of parsing helps to keep Kniaz clean, and seperate how we decide to parse the command given to Kniaz seperate from the main Kniaz loop. This is important as there are many ways to parse arguments, and we might decide another way is better. This also allows for better exception handling, as Kniaz does not need to do input validation, and just passes it off to another class. All Kniaz has to do now is to grab whatever exception is thrown up and figure out what to do(Which is a lot easier!)\n\nSimilarly, for logic, we might decide to refactor it later, and this helps keep Kniaz clean. Notably, validation of the arguments provided can be handled seperately. For example, ToDo will only expect ONE argument, but the user might decide to provide two. Getting Kniaz or KniazParser to handle this borders on scope creep of what these classes are meant to do. Also offers similar benefits in exception handling as per the paragraph above about KniazParser.\n\nAddition of the new Exception is to support these new features. Notably, the addition of a seperate userMessage field supports two different exception reporting pipelines, to support good user experience. It\u0027s reasonable that more information might be needed to debug for future feature additions/refactors that might overwhelm or confuse the user, but a developer might find useful.\n\nModifies test cases to reflect the new change in behaviour\n","tags":["Level-5","A-Enums"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":410,"deletions":77},"sh":{"insertions":1,"deletions":1}}},{"hash":"332889531bee5f136a77dad7a4241b3965bae9fd","isMergeCommit":false,"messageTitle":"Documents code added in previous commit(Tagged Level-5), Converts all commandHandler classes in logic-\u003etaskhandling package to be abstract classes","messageBody":"Documentation was not done previously, this commit fixes that\n\nClasses should be abstract, as they contain only static methods and should not be instantiated.\n","tags":["Documents-Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":226,"deletions":35}}},{"hash":"78a3b735b71723515201aeca51722574b636939f","isMergeCommit":false,"messageTitle":"Updates test case","messageBody":"Amends and expands input.txt and EXPECTED.txt to be accurate to new features, including invalid input handling\n","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0}}},{"hash":"70936e2f5385afb377ee8a0b1c20fdb73db87db0","isMergeCommit":false,"messageTitle":"Implements task deletion, and fixes formatting \u0026 documentation in TaskList, and adds whitespace stripping to parseCommand","messageBody":"DeleteHandler follows the same design pattern for the other commands, and additions in Kniaz and KniazParser are needed to accomodate the new command.\n\nAdding deletion is a useful feature because sometimes the user makes a mistake or wants to permanently delete a task to shorten the list\n\nAlso adds test case for demonstration of new behaviour\n\nparseCommand stripping whitespace brings it closer to user-expected behaviour because it\u0027s natural to expect that leading/trailing whitespaces would be ignored\n\nLastly, fixing of formatting and adding documentation is good because style guide and it\u0027s good to document\n","tags":["Level-6"],"fileTypesAndContributionMap":{"txt":{"insertions":1,"deletions":0},"java":{"insertions":109,"deletions":17}}}]},{"date":"2023-08-27","commitResults":[{"hash":"39cb07556bf46f4581064868e29649ab7efeead0","isMergeCommit":false,"messageTitle":"Implement saving","messageBody":"Currently, Kniaz forgets all data on new session\n\nLet it save to remember from previous session.\n","tags":["Saving"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":1}}}]},{"date":"2023-08-28","commitResults":[{"hash":"a9c7aacc5917b29c51c456731c7bfa3675aba531","isMergeCommit":false,"messageTitle":"Implement loading on Kniaz start","messageBody":"Previous commit tagged Saving only saves, does not load\n\nSaving only makes sense if Kniaz loads saved data\n","tags":["Loading"],"fileTypesAndContributionMap":{"java":{"insertions":60,"deletions":10}}},{"hash":"a75de4dda04b579ce247ebff744404d1d2298adb","isMergeCommit":false,"messageTitle":"Write javadoc strings for commits tagged Saving, Loading","messageBody":"Previous commits implemented functionality, lacked javadoc strings.\n\nDocumentation is good.\n","tags":["Level-7","Documents-Saving-Loading"],"fileTypesAndContributionMap":{"java":{"insertions":78,"deletions":9}}},{"hash":"d6e3967c81cd09beea7eba545506e9dd7c9d0a85","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-7\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"3089cc5a9441a0307f640190679c11dc7b186387","isMergeCommit":false,"messageTitle":"Implement date-time parsing","messageBody":"Currently, stores date-time only as Strings, no parsing\n\nShould parse to allow for flexibility and organised output for better UX\n","tags":["date-time-parse"],"fileTypesAndContributionMap":{"txt":{"insertions":12,"deletions":1},"java":{"insertions":67,"deletions":8}}},{"hash":"c06f521a0f9d7669d795e789693aaabf81c14928","isMergeCommit":false,"messageTitle":"Write javadoc strings \u0026 fix code standard issues","messageBody":"Documentation \u0026 code standards are important\n\nModify access on class members to keep the API good and upkeep good OOP\n","tags":["document-date-time-parsing"],"fileTypesAndContributionMap":{"java":{"insertions":68,"deletions":8}}},{"hash":"41bd70669f302c7ec49da542e3a5d300076c83be","isMergeCommit":false,"messageTitle":"Update test cases","messageBody":"Test cases were unmodified, outdated\n\nModification to reflect new behaviour is good\n","fileTypesAndContributionMap":{"txt":{"insertions":2,"deletions":3}}},{"hash":"3fd07aa07206e78bb37f5787552447523d835a11","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-level-8\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"babda4953a4eb158cadcbad5f3c228ed79754128","isMergeCommit":false,"messageTitle":"Create new package io","messageBody":"Prepare to seperate I/O into another package for better OOP practices\n","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":0}}},{"hash":"6a589990e06a7764e44646b49a34dfb18423a1ea","isMergeCommit":false,"messageTitle":"Move parser package to io \u0026 rename","messageBody":"Was not under io package previously\n\nParsing of incoming inputs should be under io package\n","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":48}}},{"hash":"e18cf334fbd23482fa3fa6aa2c2a418a0b98ff52","isMergeCommit":false,"messageTitle":"Seperate InstructionType into own class","messageBody":"Was inner class of KniazParser\n\nNow, seperate to make cleaner, needed as more functionality added on\n","fileTypesAndContributionMap":{"java":{"insertions":44,"deletions":0}}},{"hash":"cb5b7c6dbd86ce05979c2b9b8f2879dbf40b09cd","isMergeCommit":false,"messageTitle":"Create exception class shells","messageBody":"One type of exception covers all Kniaz exception, very unspecific\n\nExpand types to prepare for I/O refactor later\n","fileTypesAndContributionMap":{"java":{"insertions":53,"deletions":0}}}]},{"date":"2023-08-29","commitResults":[{"hash":"a66b5f9d8bdfcc51f2290ceb12da49debc58d973","isMergeCommit":false,"messageTitle":"Refactor command handling \u0026 parsing","messageBody":"Command handling code used to handle parsing also, and was messy.\n\nSplit command handling \u0026 parsing to be more functional in paradigm.\n\nBetter design helps maintain and extend\n","fileTypesAndContributionMap":{"java":{"insertions":696,"deletions":567}}},{"hash":"99c9444e87788a28278d379db8f038b700f62032","isMergeCommit":false,"messageTitle":"Finish implementation and add javadocs","messageBody":"Had some small errors and unfinished docs\n\nShould be cleaned up and documentation thrown in for future reference\n","fileTypesAndContributionMap":{"java":{"insertions":192,"deletions":77}}},{"hash":"f686cc77078b9a82c386ca00b33d202079345fd6","isMergeCommit":false,"messageTitle":"Fix error in CommandFactory, KniazCommand","messageBody":"Now, does not make sense or works\n\nSensible and working code is good\n","fileTypesAndContributionMap":{"java":{"insertions":21,"deletions":18}}},{"hash":"4129af5f9517f7dc507fc5ccc8f8da4557eab2e1","isMergeCommit":false,"messageTitle":"Fix errors, finish implementation of OOP","messageBody":"Previously was undone, finish refactor\n\nBetter methodology and structure is good for design\n\nCurrent implementation lacking exception handling, output is bare-bones\n","fileTypesAndContributionMap":{"java":{"insertions":568,"deletions":449}}}]},{"date":"2023-08-30","commitResults":[{"hash":"333ec1635e19624b33dda2075b41c551af904f96","isMergeCommit":false,"messageTitle":"Make chatbot have more personality in responses","messageBody":"Previous refactor removed due to re-implementation of I/O\n\nFeature re-addition after refactor is good to return to behaviour\n\nCurrent design also more extensible overall than previous design\n","fileTypesAndContributionMap":{"java":{"insertions":59,"deletions":5}}},{"hash":"9444dd5d08b8afa082f92f7d7e57a25612cc103f","isMergeCommit":false,"messageTitle":"Add missing javadoc strings \u0026 inline comments","messageBody":"Previously, missing javadoc strings \u0026 inline comments in code.\n\nConsistent documentation is a good thing.\n","fileTypesAndContributionMap":{"txt":{"insertions":0,"deletions":0},"java":{"insertions":127,"deletions":56}}},{"hash":"67a18a7397778b1f3c2e37a491e8b0fa4a271c29","isMergeCommit":false,"messageTitle":"Fix bugs in line parsing","messageBody":"Previously, read each whitespace delimited string as an unnamed argument\n\nI.e. it would interpret \"todo read book\" w/ args \"read\"\u0026\"book\"\n\nFix this to be in line with old \u0026 expected behaviour\n","fileTypesAndContributionMap":{"java":{"insertions":60,"deletions":32}}},{"hash":"31e3a49af8d6b6fc55e7db72ee65c2cca5c7dc9c","isMergeCommit":false,"messageTitle":"Update exceptions, use \u0026 handle new exceptions","messageBody":"Fine-tune exception types and implement where appropriate\n\nBetter practices, as more specific exceptions are better\n\nWhen exception is thrown, more information about what kind of exception\n\nPrevious commits did not handle exception after refactor\n\nHandling certain exceptions that are expected to crop up is good\n","fileTypesAndContributionMap":{"java":{"insertions":262,"deletions":109}}},{"hash":"05320ac4478ac660386cd93f248d670dde86d7ed","isMergeCommit":false,"messageTitle":"Update test case to match expected behaviour","messageBody":"Changes changed behaviour slightly, update to match expected output\n\nUpdating test case is good because now it reflects actual expected\n","fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0}}},{"hash":"5849176d22047afb8b229924487c8296a47a3ddf","isMergeCommit":false,"messageTitle":"Add comments explaining why things were done","messageBody":"Documentation is good\n","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":0}}},{"hash":"187f9936ccf46980ccc8b29cc5918dc70459345d","isMergeCommit":false,"messageTitle":"Removes unused import statements and fixes javadoc","messageBody":"Code style and documentation standards are good\n","fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":6}}}]},{"date":"2023-08-31","commitResults":[{"hash":"f66d837c3eda91562b05defedb7257fbe0284e81","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-MoreOOP\u0027","messageBody":"","tags":["A-Packages","A-MoreOOP"],"fileTypesAndContributionMap":{}},{"hash":"cd27a61e0ac51fa46d87f90de79cc772351f8cc9","isMergeCommit":true,"messageTitle":"Merge branch \u0027add-gradle-support\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"254b64a3c486d85c89fe4f9a40c824fc830c65a4","isMergeCommit":false,"messageTitle":"Add \u0026 configure gradle","messageBody":"","tags":["A-Gradle"],"fileTypesAndContributionMap":{"gradle":{"insertions":2,"deletions":1}}},{"hash":"df53fb75f7fe79ea41f714a729c7c896a28190ca","isMergeCommit":false,"messageTitle":"Add no-arg constructor to KniazSession","messageBody":"Useful for instantiating anonymous instances -- Lack all behaviour as no fields\n","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":0}}},{"hash":"909b5d12e489483b4635e496e25d585e5a77fa9e","isMergeCommit":false,"messageTitle":"Add tests for DeadlineHandler, DeleteHandler","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":168,"deletions":0}}},{"hash":"448a55fdf62e7a0c6910ff558fe7fc9ecd3132bc","isMergeCommit":true,"messageTitle":"Merge branch \u0027branch-A-JUnit\u0027","messageBody":"","tags":["A-JavaDoc","A-Jar","A-JUnit","A-CodingStandard"],"fileTypesAndContributionMap":{}},{"hash":"12a0356806bdbcf8895bdc7164c166d3bb4d180f","isMergeCommit":false,"messageTitle":"Add new find command","messageBody":"Feature expansion, useful if user has many tasks in their task list.\n","fileTypesAndContributionMap":{"txt":{"insertions":3,"deletions":0},"java":{"insertions":75,"deletions":1}}},{"hash":"43a76ebe9b0666b627973b7e0d56996734fd5f85","isMergeCommit":false,"messageTitle":"Edit name of built jar via shadowjar to Kniaz","messageBody":"Kniaz is the name of our program, NOT duke.\n","tags":["Incidental-Fix"],"fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":1}}},{"hash":"055c4b63a3261a2ea01a041094b2925a4f2e90d8","isMergeCommit":true,"messageTitle":"Merge branch \u0027Branch-L-9\u0027","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"xavierpok":{"java":2350,"md":0,"fxml":0,"sh":1,"bat":0,"gradle":3,"txt":32}},"authorContributionVariance":{"xavierpok":450526.4},"authorDisplayNameMap":{"xavierpok":"CS2103-F13-1 POK ..VIER"}} diff --git a/yyyaohhh_ip_master/authorship.json b/yyyaohhh_ip_master/authorship.json index 6bdfda64..6d1f32aa 100644 --- a/yyyaohhh_ip_master/authorship.json +++ b/yyyaohhh_ip_master/authorship.json @@ -1 +1 @@ -[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" protected String by;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":" public Deadline(String name, String by) {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" return \"[D]\" + super.toString() + \" (by:\" + by + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":13}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-08-22"},{"lineNumber":2,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":3,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2019-07-29"},{"lineNumber":4,"author":{"gitId":"-"},"content":" String logo \u003d \" ____ _ \\n\"","lastModifiedDate":"2019-07-29"},{"lineNumber":5,"author":{"gitId":"-"},"content":" + \"| _ \\\\ _ _| | _____ \\n\"","lastModifiedDate":"2019-07-29"},{"lineNumber":6,"author":{"gitId":"-"},"content":" + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2019-07-29"},{"lineNumber":7,"author":{"gitId":"-"},"content":" + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2019-07-29"},{"lineNumber":8,"author":{"gitId":"-"},"content":" + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2019-07-29"},{"lineNumber":9,"author":{"gitId":"-"},"content":" System.out.println(\"Hello from\\n\" + logo);","lastModifiedDate":"2019-07-29"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Ko...ko...ko..nichi...wa!!! I... I am Gotoh... Hitori desu! Σ(っ °Д °;)っ\");","lastModifiedDate":"2023-08-22"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"You... can call me... Bocchi. They usually... call me Bocchi chan...\");","lastModifiedDate":"2023-08-22"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"What can... can I do for you? (°□°;) \");","lastModifiedDate":"2023-08-22"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" TaskList tasks \u003d new TaskList();","lastModifiedDate":"2023-08-23"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" Scanner echoObject \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" String echo \u003d echoObject.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" while(!echo.equals(\"bye\")) {","lastModifiedDate":"2023-08-22"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" if (!echo.equals(\"list\")) {","lastModifiedDate":"2023-08-23"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" String[] parts \u003d echo.split(\" \");","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" if (parts[0].equals(\"mark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" if(parts.length \u003d\u003d 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The number to be marked done... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" int taskNum \u003d Integer.parseInt(parts[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" tasks.markDone(taskNum - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"O...Omedeto! I have... have marked this as done!!o(〃’▽’〃)o\");","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(tasks.printTask(taskNum - 1));","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"unmark\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"yyyaohhh"},"content":" if(parts.length \u003d\u003d 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The number to be unmarked done... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"yyyaohhh"},"content":" int taskNum \u003d Integer.parseInt(parts[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":39,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":40,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... this is not done yet (ᗒᗣᗕ)՞\");","lastModifiedDate":"2023-08-24"},{"lineNumber":41,"author":{"gitId":"yyyaohhh"},"content":" tasks.markUndone(taskNum - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(tasks.printTask(taskNum - 1));","lastModifiedDate":"2023-08-24"},{"lineNumber":43,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":44,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"deadline\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":45,"author":{"gitId":"yyyaohhh"},"content":" String removeDdl \u003d echo.replace(\"deadline\", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":46,"author":{"gitId":"yyyaohhh"},"content":" if(removeDdl.equals(\"\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":47,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The description of a deadline... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":48,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":49,"author":{"gitId":"yyyaohhh"},"content":" String removeBy \u003d removeDdl.replace(\"by\", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":50,"author":{"gitId":"yyyaohhh"},"content":" String[] ddl \u003d removeBy.split(\"/\");","lastModifiedDate":"2023-08-24"},{"lineNumber":51,"author":{"gitId":"yyyaohhh"},"content":" Deadline x \u003d new Deadline(ddl[0], ddl[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":52,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":53,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... I\u0027ve... I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":54,"author":{"gitId":"yyyaohhh"},"content":" tasks.addToList(x);","lastModifiedDate":"2023-08-24"},{"lineNumber":55,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":56,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":57,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":58,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"event\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":59,"author":{"gitId":"yyyaohhh"},"content":" String removeEvent \u003d echo.replace(\"event\", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":60,"author":{"gitId":"yyyaohhh"},"content":" if(removeEvent.equals(\"\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":61,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The description of an event... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":62,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":63,"author":{"gitId":"yyyaohhh"},"content":" String removeFrom \u003d removeEvent.replace(\"from\", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":64,"author":{"gitId":"yyyaohhh"},"content":" String removeTo \u003d removeFrom.replace(\"to\", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":65,"author":{"gitId":"yyyaohhh"},"content":" String[] event \u003d removeTo.split(\"/\");","lastModifiedDate":"2023-08-24"},{"lineNumber":66,"author":{"gitId":"yyyaohhh"},"content":" Event x \u003d new Event(event[0], event[1], event[2]);","lastModifiedDate":"2023-08-24"},{"lineNumber":67,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":68,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... I\u0027ve... I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":69,"author":{"gitId":"yyyaohhh"},"content":" tasks.addToList(x);","lastModifiedDate":"2023-08-24"},{"lineNumber":70,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":71,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":72,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":73,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"todo\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":74,"author":{"gitId":"yyyaohhh"},"content":" String removeTodo \u003d echo.replace(\"todo\", \"\");","lastModifiedDate":"2023-08-24"},{"lineNumber":75,"author":{"gitId":"yyyaohhh"},"content":" if(removeTodo.equals(\"\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":76,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The description of the todo... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":77,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":78,"author":{"gitId":"yyyaohhh"},"content":" ToDo x \u003d new ToDo(removeTodo);","lastModifiedDate":"2023-08-24"},{"lineNumber":79,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":80,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... I\u0027ve... I\u0027ve added this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":81,"author":{"gitId":"yyyaohhh"},"content":" tasks.addToList(x);","lastModifiedDate":"2023-08-24"},{"lineNumber":82,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x.toString());","lastModifiedDate":"2023-08-24"},{"lineNumber":83,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":84,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":85,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"delete\")) {","lastModifiedDate":"2023-08-24"},{"lineNumber":86,"author":{"gitId":"yyyaohhh"},"content":" if(parts.length \u003d\u003d 1) {","lastModifiedDate":"2023-08-24"},{"lineNumber":87,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The number to be deleted... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":88,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":89,"author":{"gitId":"yyyaohhh"},"content":" int taskNum \u003d Integer.parseInt(parts[1]);","lastModifiedDate":"2023-08-24"},{"lineNumber":90,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":91,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"O...Okk... I\u0027ve re...removed this task:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":92,"author":{"gitId":"yyyaohhh"},"content":" tasks.deleteTask(taskNum - 1);","lastModifiedDate":"2023-08-24"},{"lineNumber":93,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-08-24"},{"lineNumber":94,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":95,"author":{"gitId":"yyyaohhh"},"content":" } else {","lastModifiedDate":"2023-08-24"},{"lineNumber":96,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! Go...Gomenasaiii!!! I don\u0027t understand!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-08-24"},{"lineNumber":97,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":98,"author":{"gitId":"yyyaohhh"},"content":" } else { //equals list","lastModifiedDate":"2023-08-24"},{"lineNumber":99,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":100,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"H...here are the tasks in your list:\");","lastModifiedDate":"2023-08-24"},{"lineNumber":101,"author":{"gitId":"yyyaohhh"},"content":" tasks.printList();","lastModifiedDate":"2023-08-24"},{"lineNumber":102,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-24"},{"lineNumber":103,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":104,"author":{"gitId":"yyyaohhh"},"content":" } catch (DukeException e){","lastModifiedDate":"2023-08-24"},{"lineNumber":105,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":106,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-08-24"},{"lineNumber":107,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-23"},{"lineNumber":108,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":109,"author":{"gitId":"yyyaohhh"},"content":" Scanner nextEchoObject \u003d new Scanner(System.in);","lastModifiedDate":"2023-08-22"},{"lineNumber":110,"author":{"gitId":"yyyaohhh"},"content":" echo \u003d nextEchoObject.nextLine();","lastModifiedDate":"2023-08-22"},{"lineNumber":111,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-22"},{"lineNumber":112,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":113,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"B... b...bye bye!... And ... see you! (〃ω〃)\");","lastModifiedDate":"2023-08-22"},{"lineNumber":114,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"____________________________________________________________\");","lastModifiedDate":"2023-08-22"},{"lineNumber":115,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":116,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-22"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":118,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"yyyaohhh":108,"-":10}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" public DukeException(String errorMessage) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" super(errorMessage);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":5}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" protected String start;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" protected String end;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" public Event(String name, String start, String end) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" this.start\u003d start;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" this.end \u003d end;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" return \"[E]\" + super.toString() + \" (from:\" + start + \"to:\" + end + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":14}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" protected String taskName;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" public Task(String taskName) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" this.taskName \u003d taskName;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" public void markDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" public void markUndone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" public String toString(){","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.taskName;","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":24}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"public class TaskList {","lastModifiedDate":"2023-08-23"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" protected ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" public TaskList() {","lastModifiedDate":"2023-08-23"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" this.tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" public void addToList(Task task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.add(task);","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" public void markDone(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.get(taskNum).markDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" public void markUndone(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.get(taskNum).markUndone();","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" public String printTask(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" return this.tasks.get(taskNum).toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" public void numOfTask() {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"N... Now you have... \" + this.tasks.size() + \" tasks in the list. ( ‘-ωก̀ )\");","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" public void deleteTask(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(this.printTask(taskNum));","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.remove(taskNum);","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"yyyaohhh"},"content":" public void printList() {","lastModifiedDate":"2023-08-23"},{"lineNumber":33,"author":{"gitId":"yyyaohhh"},"content":" for(int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-23"},{"lineNumber":34,"author":{"gitId":"yyyaohhh"},"content":" int x \u003d i + 1;","lastModifiedDate":"2023-08-23"},{"lineNumber":35,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x + \". \" + this.printTask(i));","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":37,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":38,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"yyyaohhh":38}},{"path":"src/main/java/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" public ToDo(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":10}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"todo borrow book","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"mark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":"unmark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":9}}] +[{"path":"src/main/java/Deadline.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"import java.time.LocalDateTime;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"import java.time.format.DateTimeFormatter;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"public class Deadline extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" protected LocalDate by;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" public Deadline(String name, LocalDate by) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" this.by \u003d by;","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" public Deadline(String name, String by) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" this.by \u003d LocalDate.parse(by);","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" public LocalDate getBy() {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" return this.by;","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" return \"[D]\" + super.toString() + \" (by: \" +","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" this.by.format(DateTimeFormatter.ofPattern(\"MMM dd yyyy\")) + \")\";","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":24}},{"path":"src/main/java/Duke.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-08-31"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"import java.io.IOException;","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class Duke {","lastModifiedDate":"2019-07-29"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" private Ui ui;","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" private Storage storage;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" private TaskList tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" public Duke(String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" this.storage \u003d new Storage(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" public void run() {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" try {","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" this.tasks \u003d new TaskList(this.storage.load());","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" } catch (FileNotFoundException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"File not found\");","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" Parser execute \u003d new Parser();","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" execute.parse(this.tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" try {","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" new FileWriter(\"./data/duke.txt\", false).close();","lastModifiedDate":"2023-08-31"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" this.storage.writeToFile(this.tasks);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" } catch (IOException e) {","lastModifiedDate":"2023-08-31"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"error: \" + e.getMessage());","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" Ui.sayBye();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"yyyaohhh"},"content":" new Duke(\"./data/duke.txt\").run();","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":35,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"yyyaohhh":31,"-":4}},{"path":"src/main/java/DukeException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class DukeException extends Exception {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" public DukeException(String errorMessage) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" super(errorMessage);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":5}},{"path":"src/main/java/Event.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class Event extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" protected String start;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" protected String end;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" public Event(String name, String start, String end) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" this.start\u003d start;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" this.end \u003d end;","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" public String getStart() {","lastModifiedDate":"2023-08-31"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" return this.start;","lastModifiedDate":"2023-08-31"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" public String getEnd() {","lastModifiedDate":"2023-08-31"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" return this.end;","lastModifiedDate":"2023-08-31"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" return \"[E]\" + super.toString() + \" (from:\" + start + \"to:\" + end + \")\";","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":20}},{"path":"src/main/java/Parser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.time.DateTimeException;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"public class Parser {","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" public void parse(TaskList tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" Scanner echoObject \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" String echo \u003d echoObject.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" while (!echo.equals(\"bye\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" if (!echo.equals(\"list\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" String[] parts \u003d echo.split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" if (parts[0].equals(\"mark\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" if (parts.length \u003d\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The number to be marked done... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" int taskNum \u003d Integer.parseInt(parts[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" tasks.markDone(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"O...Omedeto! I have... have marked this as done!!o(〃’▽’〃)o\");","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(tasks.printTask(taskNum - 1));","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"unmark\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" if (parts.length \u003d\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The number to be unmarked done... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" int taskNum \u003d Integer.parseInt(parts[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... this is not done yet (ᗒᗣᗕ)՞\");","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":" tasks.markUndone(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(tasks.printTask(taskNum - 1));","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"deadline\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"yyyaohhh"},"content":" String removeDdl \u003d echo.replace(\"deadline\", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"yyyaohhh"},"content":" if (removeDdl.equals(\"\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The description of a deadline... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"yyyaohhh"},"content":" String removeBy \u003d removeDdl.replace(\"by\", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"yyyaohhh"},"content":" String[] ddl \u003d removeBy.split(\"/\");","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"yyyaohhh"},"content":" String[] split \u003d ddl[1].split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"yyyaohhh"},"content":" try {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"yyyaohhh"},"content":" LocalDate by \u003d LocalDate.parse(split[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"yyyaohhh"},"content":" Deadline x \u003d new Deadline(ddl[0], by);","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... I\u0027ve... I\u0027ve added this task:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"yyyaohhh"},"content":" tasks.addToList(x);","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"yyyaohhh"},"content":" } catch (DateTimeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"Th...th...the ddate you have inputed is invalid!!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"event\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"yyyaohhh"},"content":" String removeEvent \u003d echo.replace(\"event\", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"yyyaohhh"},"content":" if (removeEvent.equals(\"\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The description of an event... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"yyyaohhh"},"content":" String removeFrom \u003d removeEvent.replace(\"from\", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"yyyaohhh"},"content":" String removeTo \u003d removeFrom.replace(\"to\", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"yyyaohhh"},"content":" String[] event \u003d removeTo.split(\"/\");","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"yyyaohhh"},"content":" Event x \u003d new Event(event[0], event[1], event[2]);","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... I\u0027ve... I\u0027ve added this task:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"yyyaohhh"},"content":" tasks.addToList(x);","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"todo\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"yyyaohhh"},"content":" String removeTodo \u003d echo.replace(\"todo\", \"\");","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"yyyaohhh"},"content":" if (removeTodo.equals(\"\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The description of the todo... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"yyyaohhh"},"content":" ToDo x \u003d new ToDo(removeTodo);","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":76,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Okk... I\u0027ve... I\u0027ve added this task:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":77,"author":{"gitId":"yyyaohhh"},"content":" tasks.addToList(x);","lastModifiedDate":"2023-09-02"},{"lineNumber":78,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x.toString());","lastModifiedDate":"2023-09-02"},{"lineNumber":79,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":80,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":81,"author":{"gitId":"yyyaohhh"},"content":" } else if (parts[0].equals(\"delete\")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":82,"author":{"gitId":"yyyaohhh"},"content":" if (parts.length \u003d\u003d 1) {","lastModifiedDate":"2023-09-02"},{"lineNumber":83,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! The number to be deleted... c...cannot be empty!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":84,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":85,"author":{"gitId":"yyyaohhh"},"content":" int taskNum \u003d Integer.parseInt(parts[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":86,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":87,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"O...Okk... I\u0027ve re...removed this task:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":88,"author":{"gitId":"yyyaohhh"},"content":" tasks.deleteTask(taskNum - 1);","lastModifiedDate":"2023-09-02"},{"lineNumber":89,"author":{"gitId":"yyyaohhh"},"content":" tasks.numOfTask();","lastModifiedDate":"2023-09-02"},{"lineNumber":90,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":91,"author":{"gitId":"yyyaohhh"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":92,"author":{"gitId":"yyyaohhh"},"content":" throw new DukeException(\"AAA...AGHHH!!! Go...Gomenasaiii!!! I don\u0027t understand!!!°(°ˊДˋ°) °\");","lastModifiedDate":"2023-09-02"},{"lineNumber":93,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":94,"author":{"gitId":"yyyaohhh"},"content":" } else { //equals list","lastModifiedDate":"2023-09-02"},{"lineNumber":95,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":96,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"H...here are the tasks in your list:\");","lastModifiedDate":"2023-09-02"},{"lineNumber":97,"author":{"gitId":"yyyaohhh"},"content":" tasks.printList();","lastModifiedDate":"2023-09-02"},{"lineNumber":98,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":99,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":100,"author":{"gitId":"yyyaohhh"},"content":" } catch (DukeException e) {","lastModifiedDate":"2023-09-02"},{"lineNumber":101,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":102,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(e.getMessage());","lastModifiedDate":"2023-09-02"},{"lineNumber":103,"author":{"gitId":"yyyaohhh"},"content":" Ui.line();","lastModifiedDate":"2023-09-02"},{"lineNumber":104,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":105,"author":{"gitId":"yyyaohhh"},"content":" Scanner nextEchoObject \u003d new Scanner(System.in);","lastModifiedDate":"2023-09-02"},{"lineNumber":106,"author":{"gitId":"yyyaohhh"},"content":" echo \u003d nextEchoObject.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":107,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":108,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":109,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"yyyaohhh":109}},{"path":"src/main/java/Storage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.io.File;","lastModifiedDate":"2023-09-02"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"import java.io.FileNotFoundException;","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"import java.io.FileWriter;","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"import java.io.IOException;","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-09-02"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-09-02"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":"public class Storage {","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" protected String filePath;","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" public Storage(String filePath) {","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" this.filePath \u003d filePath;","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" public void writeToFile(TaskList listOfTasks) throws IOException {","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" FileWriter fw \u003d new FileWriter(filePath);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" for(int i \u003d 0; i \u003c listOfTasks.tasks.size(); i++) {","lastModifiedDate":"2023-09-02"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" if(listOfTasks.tasks.get(i) instanceof Event) {","lastModifiedDate":"2023-09-02"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" Event x \u003d (Event) listOfTasks.tasks.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" if(listOfTasks.tasks.get(i).getStatus()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" fw.write(\"E | 0 |\" + listOfTasks.printName(i) + \"|\" + x.getStart() + \"-\" + x.getEnd() + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" fw.write(\"E | 1 |\" + listOfTasks.printName(i) + \"|\" + x.getStart() + \"-\" + x.getEnd() + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" if(listOfTasks.tasks.get(i) instanceof ToDo) {","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" if(listOfTasks.tasks.get(i).getStatus()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" fw.write(\"T | 0 |\" + listOfTasks.printName(i) + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" fw.write(\"T | 1 |\" + listOfTasks.printName(i) + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":" if(listOfTasks.tasks.get(i) instanceof Deadline) {","lastModifiedDate":"2023-09-02"},{"lineNumber":32,"author":{"gitId":"yyyaohhh"},"content":" Deadline x \u003d (Deadline) listOfTasks.tasks.get(i);","lastModifiedDate":"2023-09-02"},{"lineNumber":33,"author":{"gitId":"yyyaohhh"},"content":" if(listOfTasks.tasks.get(i).getStatus()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":34,"author":{"gitId":"yyyaohhh"},"content":" fw.write(\"D | 0 |\" + listOfTasks.printName(i) + \"| \" + x.getBy() + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":35,"author":{"gitId":"yyyaohhh"},"content":" } else {","lastModifiedDate":"2023-09-02"},{"lineNumber":36,"author":{"gitId":"yyyaohhh"},"content":" fw.write(\"D | 1 |\" + listOfTasks.printName(i) + \"| \" + x.getBy() + \"\\n\");","lastModifiedDate":"2023-09-02"},{"lineNumber":37,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":38,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":39,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":40,"author":{"gitId":"yyyaohhh"},"content":" fw.close();","lastModifiedDate":"2023-09-02"},{"lineNumber":41,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":42,"author":{"gitId":"yyyaohhh"},"content":" public ArrayList\u003cTask\u003e load() throws FileNotFoundException {","lastModifiedDate":"2023-09-02"},{"lineNumber":43,"author":{"gitId":"yyyaohhh"},"content":" File f \u003d new File(filePath); // create a File for the given file path","lastModifiedDate":"2023-09-02"},{"lineNumber":44,"author":{"gitId":"yyyaohhh"},"content":" Scanner s \u003d new Scanner(f); // create a Scanner using the File as the source","lastModifiedDate":"2023-09-02"},{"lineNumber":45,"author":{"gitId":"yyyaohhh"},"content":" ArrayList\u003cTask\u003e tasks \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-09-02"},{"lineNumber":46,"author":{"gitId":"yyyaohhh"},"content":" while (s.hasNext()) {","lastModifiedDate":"2023-09-02"},{"lineNumber":47,"author":{"gitId":"yyyaohhh"},"content":" String line \u003d s.nextLine();","lastModifiedDate":"2023-09-02"},{"lineNumber":48,"author":{"gitId":"yyyaohhh"},"content":" String[] parts \u003d line.split(\"\\\\|\");","lastModifiedDate":"2023-09-02"},{"lineNumber":49,"author":{"gitId":"yyyaohhh"},"content":" if(parts[0].equals(\"T \")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":50,"author":{"gitId":"yyyaohhh"},"content":" ToDo temp \u003d new ToDo(parts[2]);","lastModifiedDate":"2023-09-02"},{"lineNumber":51,"author":{"gitId":"yyyaohhh"},"content":" tasks.add(temp);","lastModifiedDate":"2023-09-02"},{"lineNumber":52,"author":{"gitId":"yyyaohhh"},"content":" if(parts[1].equals(\" 0 \")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":53,"author":{"gitId":"yyyaohhh"},"content":" temp.markDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":54,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":55,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":56,"author":{"gitId":"yyyaohhh"},"content":" if (parts[0].equals(\"D \")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":57,"author":{"gitId":"yyyaohhh"},"content":" String[] x \u003d parts[3].split(\" \");","lastModifiedDate":"2023-09-02"},{"lineNumber":58,"author":{"gitId":"yyyaohhh"},"content":" Deadline temp \u003d new Deadline(parts[2], x[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":59,"author":{"gitId":"yyyaohhh"},"content":" tasks.add(temp);","lastModifiedDate":"2023-09-02"},{"lineNumber":60,"author":{"gitId":"yyyaohhh"},"content":" if(parts[1].equals(\" 0 \")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":61,"author":{"gitId":"yyyaohhh"},"content":" temp.markDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":62,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":63,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":64,"author":{"gitId":"yyyaohhh"},"content":" if(parts[0].equals(\"E \")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":65,"author":{"gitId":"yyyaohhh"},"content":" String[] duration \u003d parts[3].split(\"-\");","lastModifiedDate":"2023-09-02"},{"lineNumber":66,"author":{"gitId":"yyyaohhh"},"content":" Event temp \u003d new Event(parts[2], duration[0], duration[1]);","lastModifiedDate":"2023-09-02"},{"lineNumber":67,"author":{"gitId":"yyyaohhh"},"content":" tasks.add(temp);","lastModifiedDate":"2023-09-02"},{"lineNumber":68,"author":{"gitId":"yyyaohhh"},"content":" if(parts[1].equals(\" 0 \")) {","lastModifiedDate":"2023-09-02"},{"lineNumber":69,"author":{"gitId":"yyyaohhh"},"content":" temp.markDone();","lastModifiedDate":"2023-09-02"},{"lineNumber":70,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":71,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":72,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":73,"author":{"gitId":"yyyaohhh"},"content":" return tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":74,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":75,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-09-02"}],"authorContributionMap":{"yyyaohhh":75}},{"path":"src/main/java/Task.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" protected String taskName;","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" protected boolean isDone;","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" public Task(String taskName) {","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" this.taskName \u003d taskName;","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" public String getStatusIcon() {","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" return (isDone ? \"X\" : \" \"); // mark done task with X","lastModifiedDate":"2023-08-24"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" public void markDone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" this.isDone \u003d true;","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" public boolean getStatus() {","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" return this.isDone;","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" public String getName() {","lastModifiedDate":"2023-08-31"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" return this.taskName;","lastModifiedDate":"2023-08-31"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" public void markUndone() {","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" this.isDone \u003d false;","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" public String toString(){","lastModifiedDate":"2023-08-24"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" return \"[\" + this.getStatusIcon() + \"] \" + this.taskName;","lastModifiedDate":"2023-08-24"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":31}},{"path":"src/main/java/TaskList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-08-23"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"public class TaskList {","lastModifiedDate":"2023-08-23"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" protected ArrayList\u003cTask\u003e tasks;","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" public TaskList(ArrayList\u003cTask\u003e tasks) {","lastModifiedDate":"2023-09-02"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" this.tasks \u003d tasks;","lastModifiedDate":"2023-09-02"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-23"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" public void addToList(Task task) {","lastModifiedDate":"2023-08-24"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.add(task);","lastModifiedDate":"2023-08-23"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" public void markDone(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.get(taskNum).markDone();","lastModifiedDate":"2023-08-24"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" public void markUndone(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.get(taskNum).markUndone();","lastModifiedDate":"2023-08-24"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" public String printTask(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" return this.tasks.get(taskNum).toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-31"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" public String printName(int taskNum) {","lastModifiedDate":"2023-08-31"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" return this.tasks.get(taskNum).getName();","lastModifiedDate":"2023-08-31"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" public void numOfTask() {","lastModifiedDate":"2023-08-24"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"N... Now you have... \" + this.tasks.size() + \" tasks in the list. ( ‘-ωก̀ )\");","lastModifiedDate":"2023-08-24"},{"lineNumber":32,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":33,"author":{"gitId":"yyyaohhh"},"content":" public void deleteTask(int taskNum) {","lastModifiedDate":"2023-08-24"},{"lineNumber":34,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(this.printTask(taskNum));","lastModifiedDate":"2023-08-24"},{"lineNumber":35,"author":{"gitId":"yyyaohhh"},"content":" this.tasks.remove(taskNum);","lastModifiedDate":"2023-08-24"},{"lineNumber":36,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":37,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":38,"author":{"gitId":"yyyaohhh"},"content":" public void printList() {","lastModifiedDate":"2023-08-23"},{"lineNumber":39,"author":{"gitId":"yyyaohhh"},"content":" for(int i \u003d 0; i \u003c tasks.size(); i++) {","lastModifiedDate":"2023-08-23"},{"lineNumber":40,"author":{"gitId":"yyyaohhh"},"content":" int x \u003d i + 1;","lastModifiedDate":"2023-08-23"},{"lineNumber":41,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(x + \". \" + this.printTask(i));","lastModifiedDate":"2023-08-24"},{"lineNumber":42,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":43,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-23"},{"lineNumber":44,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-23"}],"authorContributionMap":{"yyyaohhh":44}},{"path":"src/main/java/ToDo.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class ToDo extends Task {","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" public ToDo(String name) {","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" super(name);","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" @Override","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" public String toString() {","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" return \"[T]\" + super.toString();","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-24"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":10}},{"path":"src/main/java/Ui.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"public class Ui {","lastModifiedDate":"2023-08-31"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":" private static final String DIVIDER \u003d \"____________________________________________________________\";","lastModifiedDate":"2023-09-02"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":" private static final String BYE_MESSAGE \u003d \"B... b...bye bye!... And ... see you! (〃ω〃)\";","lastModifiedDate":"2023-09-02"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":" private static final String LOGO \u003d \" ____ _ \\n\"","lastModifiedDate":"2023-09-02"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":" + \"| _ \\\\ _ _| | _____ \\n\"","lastModifiedDate":"2023-08-31"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":" + \"| | | | | | | |/ / _ \\\\\\n\"","lastModifiedDate":"2023-08-31"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":" + \"| |_| | |_| | \u003c __/\\n\"","lastModifiedDate":"2023-08-31"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":" + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";","lastModifiedDate":"2023-08-31"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":" public Ui() {","lastModifiedDate":"2023-09-02"},{"lineNumber":10,"author":{"gitId":"yyyaohhh"},"content":" introduction();","lastModifiedDate":"2023-09-02"},{"lineNumber":11,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":12,"author":{"gitId":"yyyaohhh"},"content":" public void introduction() {","lastModifiedDate":"2023-09-02"},{"lineNumber":13,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(DIVIDER);","lastModifiedDate":"2023-09-02"},{"lineNumber":14,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Hello from\\n\" + LOGO);","lastModifiedDate":"2023-09-02"},{"lineNumber":15,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"Ko...ko...ko..nichi...wa!!! I... I am Gotoh... Hitori desu! Σ(っ °Д °;)っ\");","lastModifiedDate":"2023-08-31"},{"lineNumber":16,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"You... can call me... Bocchi. They usually... call me Bocchi chan...\");","lastModifiedDate":"2023-08-31"},{"lineNumber":17,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"What can... can I do for you? (°□°;) \");","lastModifiedDate":"2023-08-31"},{"lineNumber":18,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(DIVIDER);","lastModifiedDate":"2023-09-02"},{"lineNumber":19,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":20,"author":{"gitId":"yyyaohhh"},"content":" public static void line() {","lastModifiedDate":"2023-09-02"},{"lineNumber":21,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(DIVIDER);","lastModifiedDate":"2023-09-02"},{"lineNumber":22,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":23,"author":{"gitId":"yyyaohhh"},"content":" public static void sayBye(){","lastModifiedDate":"2023-09-02"},{"lineNumber":24,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(BYE_MESSAGE);","lastModifiedDate":"2023-09-02"},{"lineNumber":25,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-09-02"},{"lineNumber":26,"author":{"gitId":"yyyaohhh"},"content":" public void showLoadingError() {","lastModifiedDate":"2023-09-02"},{"lineNumber":27,"author":{"gitId":"yyyaohhh"},"content":" line();","lastModifiedDate":"2023-09-02"},{"lineNumber":28,"author":{"gitId":"yyyaohhh"},"content":" System.out.println(\"The file cannot be loaded!\");","lastModifiedDate":"2023-09-02"},{"lineNumber":29,"author":{"gitId":"yyyaohhh"},"content":" line();","lastModifiedDate":"2023-09-02"},{"lineNumber":30,"author":{"gitId":"yyyaohhh"},"content":" }","lastModifiedDate":"2023-08-31"},{"lineNumber":31,"author":{"gitId":"yyyaohhh"},"content":"}","lastModifiedDate":"2023-08-31"}],"authorContributionMap":{"yyyaohhh":31}},{"path":"text-ui-test/input.txt","fileType":"txt","lines":[{"lineNumber":1,"author":{"gitId":"yyyaohhh"},"content":"todo borrow book","lastModifiedDate":"2023-08-24"},{"lineNumber":2,"author":{"gitId":"yyyaohhh"},"content":"deadline return book /by Sunday","lastModifiedDate":"2023-08-24"},{"lineNumber":3,"author":{"gitId":"yyyaohhh"},"content":"event project meeting /from Mon 2pm /to 4pm","lastModifiedDate":"2023-08-24"},{"lineNumber":4,"author":{"gitId":"yyyaohhh"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":5,"author":{"gitId":"yyyaohhh"},"content":"mark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":6,"author":{"gitId":"yyyaohhh"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":7,"author":{"gitId":"yyyaohhh"},"content":"unmark 2","lastModifiedDate":"2023-08-24"},{"lineNumber":8,"author":{"gitId":"yyyaohhh"},"content":"list","lastModifiedDate":"2023-08-24"},{"lineNumber":9,"author":{"gitId":"yyyaohhh"},"content":"bye","lastModifiedDate":"2023-08-24"}],"authorContributionMap":{"yyyaohhh":9}}] diff --git a/yyyaohhh_ip_master/commits.json b/yyyaohhh_ip_master/commits.json index 446b50d3..91a7cdb4 100644 --- a/yyyaohhh_ip_master/commits.json +++ b/yyyaohhh_ip_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"yyyaohhh":[{"date":"2023-08-22","commitResults":[{"hash":"fbf82b10c95a6488832c8db1c5d720fc834c9e13","isMergeCommit":false,"messageTitle":"level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"c05c6afb07b60ceeb20aa4db34c75587b627fd8c","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":1}}}]},{"date":"2023-08-23","commitResults":[{"hash":"7b9085ad428081382d9c95dca4b16f17ee9f4b74","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":3}}}]},{"date":"2023-08-24","commitResults":[{"hash":"afe044c9fe359918b43e55083722383ac425ea8f","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":8}}},{"hash":"a1baa23c76cece9edc16247443d5926fb01827c4","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":77,"deletions":6}}},{"hash":"8b18fff68c4ee802d18b4f8ad5ae7142816efdaa","isMergeCommit":false,"messageTitle":"Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0},"java":{"insertions":6,"deletions":0}}},{"hash":"7dc8cf1679cd34f6c0123dbda0b56897477ca21f","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-6","Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":48}}}]}]},"authorFileTypeContributionMap":{"yyyaohhh":{"java":212,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":9}},"authorContributionVariance":{"yyyaohhh":10365.102},"authorDisplayNameMap":{"yyyaohhh":"CS2103T-T13-1 HUAN..HONG"}} +{"authorDailyContributionsMap":{"yyyaohhh":[{"date":"2023-08-22","commitResults":[{"hash":"fbf82b10c95a6488832c8db1c5d720fc834c9e13","isMergeCommit":false,"messageTitle":"level-0","messageBody":"","tags":["Level-0"],"fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":0}}},{"hash":"c05c6afb07b60ceeb20aa4db34c75587b627fd8c","isMergeCommit":false,"messageTitle":"Level-1","messageBody":"","tags":["Level-1"],"fileTypesAndContributionMap":{"java":{"insertions":13,"deletions":1}}}]},{"date":"2023-08-23","commitResults":[{"hash":"7b9085ad428081382d9c95dca4b16f17ee9f4b74","isMergeCommit":false,"messageTitle":"Level-2","messageBody":"","tags":["Level-2"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":3}}}]},{"date":"2023-08-24","commitResults":[{"hash":"afe044c9fe359918b43e55083722383ac425ea8f","isMergeCommit":false,"messageTitle":"Level-3","messageBody":"","tags":["Level-3"],"fileTypesAndContributionMap":{"java":{"insertions":65,"deletions":8}}},{"hash":"a1baa23c76cece9edc16247443d5926fb01827c4","isMergeCommit":false,"messageTitle":"Level-4","messageBody":"","tags":["Level-4"],"fileTypesAndContributionMap":{"java":{"insertions":77,"deletions":6}}},{"hash":"8b18fff68c4ee802d18b4f8ad5ae7142816efdaa","isMergeCommit":false,"messageTitle":"Automated Text UI Testing","messageBody":"","tags":["A-TextUiTesting"],"fileTypesAndContributionMap":{"txt":{"insertions":9,"deletions":0},"java":{"insertions":6,"deletions":0}}},{"hash":"7dc8cf1679cd34f6c0123dbda0b56897477ca21f","isMergeCommit":false,"messageTitle":"Level-5","messageBody":"","tags":["Level-6","Level-5"],"fileTypesAndContributionMap":{"java":{"insertions":79,"deletions":48}}}]},{"date":"2023-08-31","commitResults":[{"hash":"140d78c87b738b20f968a08614c2581e0e760c09","isMergeCommit":false,"messageTitle":"Add Level-7","messageBody":"","tags":["Level-7"],"fileTypesAndContributionMap":{"java":{"insertions":209,"deletions":79}}}]},{"date":"2023-09-02","commitResults":[{"hash":"eda349bf1367db9324dc91cf86d3f0b085fc2f10","isMergeCommit":false,"messageTitle":"Add Dates and Times","messageBody":"","tags":["Level-8"],"fileTypesAndContributionMap":{"java":{"insertions":29,"deletions":13}}},{"hash":"61e5561fc30172458ad4a22b9cb3fdb1f5d32f32","isMergeCommit":false,"messageTitle":"Added A-MoreOOP","messageBody":"","tags":["A-MoreOOP"],"fileTypesAndContributionMap":{"java":{"insertions":226,"deletions":210}}}]}]},"authorFileTypeContributionMap":{"yyyaohhh":{"java":380,"md":0,"fxml":0,"sh":0,"bat":0,"gradle":0,"txt":9}},"authorContributionVariance":{"yyyaohhh":20220.307},"authorDisplayNameMap":{"yyyaohhh":"CS2103T-T13-1 HUAN..HONG"}}