Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AY1920S1-CS2113T-T12-2] Duke++ #28

Open
wants to merge 478 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
478 commits
Select commit Hold shift + click to select a range
8bf8178
Checkstyle fixes
lucasfoo Oct 23, 2019
17fab81
Revert "Checkstyle fixes"
lucasfoo Oct 23, 2019
db67846
added git ignore
lucasfoo Oct 23, 2019
88f025a
Merge branch 'tempbranch'
lucasfoo Oct 23, 2019
39b5b9c
Merge pull request #108 from lucasfoo/master
lucasfoo Oct 23, 2019
441608d
Fixed regressions
lucasfoo Oct 23, 2019
40b3a05
Merge pull request #109 from lucasfoo/master
lucasfoo Oct 23, 2019
4f6777e
Make recommendations based on user Attributes in PlanBot
lucasfoo Oct 23, 2019
f6e4400
Lots of Checkstyle fixes
lucasfoo Oct 23, 2019
35a0cd7
Merge pull request #110 from lucasfoo/master
lucasfoo Oct 23, 2019
6782f2b
Add files via upload
lucasfoo Oct 23, 2019
43db3a8
Delete Architecture diagram.png
lucasfoo Oct 23, 2019
a8edbe3
Add files via upload
lucasfoo Oct 23, 2019
4723575
AutoComplete
chaojliu Oct 23, 2019
fc490f3
Merge branch 'master' into AutoComplete
chaojliu Oct 23, 2019
0bda8ce
Merge pull request #112 from ChaojieLiu666/AutoComplete
chaojliu Oct 23, 2019
860f319
fix the bug caused by previous merge.
chaojliu Oct 23, 2019
bcc1491
Merge pull request #114 from ChaojieLiu666/Fixed-the-bug-caused-by-pr…
chaojliu Oct 23, 2019
6605b13
Add files via upload
lucasfoo Oct 23, 2019
65fbccc
Merge remote-tracking branch 'upstream/master'
termehlee Oct 24, 2019
9263560
Merge remote-tracking branch 'upstream/master'
termehlee Oct 24, 2019
6d62679
Merge pull request #115 from termehlee/master
termehlee Oct 24, 2019
eb79031
Refactor in MainWindow
chaojliu Oct 24, 2019
8bc6441
Merge pull request #116 from ChaojieLiu666/Refactor-in-MainWindow
chaojliu Oct 24, 2019
18e1c5c
Added questions and recommendation for food budget in PlanBot
lucasfoo Oct 24, 2019
e432233
Merge pull request #117 from lucasfoo/master
lucasfoo Oct 24, 2019
60e460d
Add files via upload
lucasfoo Oct 24, 2019
3eefb9d
Add files via upload
lucasfoo Oct 25, 2019
4b30b13
Added test for PlanQuestions
lucasfoo Oct 25, 2019
ef32efd
Merge pull request #118 from lucasfoo/master
lucasfoo Oct 25, 2019
e1a5f93
Add files via upload
chaojliu Oct 25, 2019
e5a373e
Add files via upload
chaojliu Oct 25, 2019
7995710
Implemented first version of incomeList
termehlee Oct 25, 2019
ed74ecb
Fixed bugs introduced by last PR
Oct 25, 2019
e7ad4d7
GUI fixes and improvements
lucasfoo Oct 25, 2019
5756083
More GUI improvements
lucasfoo Oct 25, 2019
b7d9482
More GUI improvements
lucasfoo Oct 25, 2019
f9db732
Merge pull request #119 from lucasfoo/master
lucasfoo Oct 25, 2019
3675273
Fixed previous regressions of budget feature due to teammate's commit
lucasfoo Oct 25, 2019
8cb6ab4
Merge pull request #120 from lucasfoo/master
lucasfoo Oct 25, 2019
72dfcc7
Updated Javadoc
chaojliu Oct 26, 2019
c9dd3e5
Merge branch 'master' into Javadoc-update
chaojliu Oct 26, 2019
6c05b97
Merge pull request #121 from ChaojieLiu666/Javadoc-update
chaojliu Oct 26, 2019
6e48e93
Changes to BudgetPane
termehlee Oct 26, 2019
4a487c8
More questions and categories for planbot
lucasfoo Oct 27, 2019
ea73dff
Export for PlanBot
lucasfoo Oct 27, 2019
05c8e86
added supoort for budget with multiple words
lucasfoo Oct 27, 2019
c91f766
export of recommendations, recurring expenses
lucasfoo Oct 27, 2019
05e5b1b
style fixes
lucasfoo Oct 27, 2019
66197ef
Checkstyle fixes
lucasfoo Oct 27, 2019
87824cb
Merge pull request #123 from lucasfoo/master
lucasfoo Oct 27, 2019
26903fc
Implementation of BudgetPane: Merge remote-tracking branch 'upstream/…
termehlee Oct 27, 2019
62f86f6
Merge branch 'master' into master
termehlee Oct 27, 2019
20e59dd
Merge pull request #124 from termehlee/master
termehlee Oct 27, 2019
088614a
fixed bug in tagging
lucasfoo Oct 27, 2019
888527f
Go to PlanPane for first time users
lucasfoo Oct 27, 2019
23be6ce
fix for missing question
lucasfoo Oct 27, 2019
838cc05
fix for saving of recurring tasks
lucasfoo Oct 27, 2019
f007a01
Merge pull request #125 from lucasfoo/master
lucasfoo Oct 27, 2019
b176c68
Refactor some code in planbot
lucasfoo Oct 27, 2019
fd52e31
Model Part of Payments Reminder
chaojliu Oct 27, 2019
9855867
tags to support only a single tag instead of multiple for simplicity
lucasfoo Oct 27, 2019
481716c
Merge pull request #126 from lucasfoo/master
lucasfoo Oct 27, 2019
66a0d1f
Implement the storage of Payments Reminder.
chaojliu Oct 27, 2019
1eed0da
Tests for PlanQuestion
lucasfoo Oct 28, 2019
49755c9
Implement Logic part
chaojliu Oct 28, 2019
98b8e58
Tests for PlanQuestionBank
lucasfoo Oct 28, 2019
d7d678e
Tests for PlanQuestionBank
lucasfoo Oct 28, 2019
730322e
Tests for PlanBot
lucasfoo Oct 28, 2019
8afad0a
Merge pull request #127 from lucasfoo/tests
lucasfoo Oct 28, 2019
13e8e62
GUI additions
lucasfoo Oct 28, 2019
acf0af5
Minor code cleanup
lucasfoo Oct 28, 2019
2b11dea
Checkstyle fixes
lucasfoo Oct 28, 2019
fa5ab86
Added recommendation for online shopping
lucasfoo Oct 28, 2019
1b0b634
Added recommendation for online shopping
lucasfoo Oct 28, 2019
3a01d60
Implement the main list of the payments reminder.
chaojliu Oct 28, 2019
05e11c6
Merge branch 'master' into Payments-Reminder
chaojliu Oct 28, 2019
401671f
Merge pull request #128 from ChaojieLiu666/Payments-Reminder
chaojliu Oct 28, 2019
f286071
Merge branch 'master' into master
lucasfoo Oct 28, 2019
3f86a83
Merge pull request #129 from lucasfoo/master
lucasfoo Oct 28, 2019
755c6ee
bugfix for last commit
lucasfoo Oct 28, 2019
31964ff
bugfix for last commit
lucasfoo Oct 28, 2019
51b2dac
Merge pull request #130 from lucasfoo/master
lucasfoo Oct 28, 2019
f0dd05e
bugfix for last commit
lucasfoo Oct 28, 2019
2a6f75d
Merge pull request #131 from lucasfoo/master
lucasfoo Oct 28, 2019
736cadc
Add files via upload
lucasfoo Oct 28, 2019
715cfb9
screenshots
lucasfoo Oct 28, 2019
0c46489
Merge pull request #132 from lucasfoo/master
lucasfoo Oct 28, 2019
12dbc25
temp save
chaojliu Oct 29, 2019
b0ed17d
change shadow start point
chaojliu Oct 29, 2019
8ad7fd3
Improved code readablility
lucasfoo Oct 29, 2019
b214502
Implement BudgetViewStorage
termehlee Oct 29, 2019
13bab64
Changed expenses to a listview
lucasfoo Oct 29, 2019
62a25cf
Merge pull request #133 from lucasfoo/master
lucasfoo Oct 29, 2019
de2ae87
Changed expenses to a listview
lucasfoo Oct 29, 2019
0391b01
added index to ListView
lucasfoo Oct 29, 2019
531c123
GUI features for total, sort, viewscope and filter
lucasfoo Oct 29, 2019
a11ee49
Merge pull request #134 from lucasfoo/master
lucasfoo Oct 29, 2019
c435174
larger font size for planbot
lucasfoo Oct 29, 2019
0718e75
Error with getBudgetTag
termehlee Oct 29, 2019
9f7c78b
Merge remote-tracking branch 'upstream/master'
termehlee Oct 29, 2019
f248651
COLORS!
lucasfoo Oct 29, 2019
f875fd9
Bugfix for sort GUI
lucasfoo Oct 29, 2019
026bb3b
Functionality of recurring expense, appear in other mon ths, but not day
lucasfoo Oct 29, 2019
5ca546a
Merge pull request #136 from lucasfoo/master
lucasfoo Oct 29, 2019
b797654
Payments Reminder
chaojliu Oct 29, 2019
9040dad
Merge branch 'master' into Payments-Reminder-2
chaojliu Oct 29, 2019
08b723f
Merge pull request #138 from ChaojieLiu666/Payments-Reminder-2
chaojliu Oct 29, 2019
770ce2f
Implemented BudgetBar in BudgetPane
termehlee Oct 29, 2019
ec9c923
Change view for incomeList
termehlee Oct 29, 2019
1d43411
Merge remote-tracking branch 'upstream/master'
termehlee Oct 29, 2019
0497b3e
Merge pull request #139 from termehlee/master
termehlee Oct 29, 2019
1025fde
add more test, reverse sort by amount
lucasfoo Oct 29, 2019
a140f05
New Ui screenshot
lucasfoo Oct 30, 2019
1b523cd
Merge pull request #140 from lucasfoo/master
lucasfoo Oct 30, 2019
52c7d50
Refactor and Bug fix
chaojliu Oct 31, 2019
7a54702
Merge pull request #142 from ChaojieLiu666/Bug-Fix
chaojliu Oct 31, 2019
898ee39
Update GUI of BudgetBar
termehlee Oct 31, 2019
88972a6
Minor edits for budget
termehlee Oct 31, 2019
f9b2bfd
Merge pull request #143 from termehlee/master
termehlee Oct 31, 2019
6dcae53
Add files via upload
chaojliu Oct 31, 2019
7559d88
Bug fix in Budget
termehlee Oct 31, 2019
bbf1a42
Merge pull request #144 from termehlee/master
termehlee Oct 31, 2019
f01ac5c
Add files via upload
chaojliu Nov 6, 2019
06cce79
Revise the code for AutoCompleter.
chaojliu Nov 6, 2019
72eefd6
Merge pull request #146 from ChaojieLiu666/revise
chaojliu Nov 6, 2019
f5a34af
Add files via upload
chaojliu Nov 6, 2019
4d355f8
Added test code.
chaojliu Nov 7, 2019
cf139d6
Merge pull request #149 from ChaojieLiu666/Add-test-codes
chaojliu Nov 7, 2019
c8dc1db
Test Codes
chaojliu Nov 8, 2019
cbe1aae
Merge pull request #150 from ChaojieLiu666/Test-Codes
chaojliu Nov 8, 2019
2bece4b
fix the build gradle
chaojliu Nov 8, 2019
8dd335c
Merge pull request #151 from ChaojieLiu666/Fix-the-build-gradle
chaojliu Nov 8, 2019
41c99dd
Test Codes
chaojliu Nov 9, 2019
a2d6aeb
Merge pull request #152 from ChaojieLiu666/Test-Codes
chaojliu Nov 9, 2019
057ba69
Change the fetching mechanism
chaojliu Nov 9, 2019
41d6205
Merge pull request #153 from ChaojieLiu666/Change-the-fetch-mechanism
chaojliu Nov 9, 2019
405f72d
New Ui screenshot
lucasfoo Nov 9, 2019
a0aeb4c
Edits to UI
termehlee Nov 9, 2019
607511b
Merge remote-tracking branch 'upstream/master'
termehlee Nov 9, 2019
55da19c
Demo data
lucasfoo Nov 9, 2019
9ed9794
Merge pull request #154 from lucasfoo/master
lucasfoo Nov 9, 2019
51a331e
Test codes
chaojliu Nov 9, 2019
2ffdd09
Merge branch 'master' into Test-Codes
chaojliu Nov 9, 2019
1e6505f
Fix parts of checkstyle
chaojliu Nov 9, 2019
b8e7dfa
Merge pull request #155 from ChaojieLiu666/Test-Codes
chaojliu Nov 9, 2019
c93fde1
checkstyle fixes
lucasfoo Nov 9, 2019
5511338
changed error message for planRecommendations
lucasfoo Nov 9, 2019
de4736e
made PlanBot and PlanQuestionBank singleton
lucasfoo Nov 9, 2019
f1d8229
GUI update
lucasfoo Nov 10, 2019
c5b88c8
Merge pull request #156 from lucasfoo/master
lucasfoo Nov 10, 2019
54fe0c4
Images update
lucasfoo Nov 10, 2019
1cb123a
Merge pull request #157 from lucasfoo/master
lucasfoo Nov 10, 2019
d7ee19f
IncomeList and Income Tests
termehlee Nov 10, 2019
ee833a5
Merge remote-tracking branch 'upstream/master'
termehlee Nov 10, 2019
32c89a1
Revise Code
chaojliu Nov 10, 2019
5077733
Merge branch 'master' into Revise-Code
chaojliu Nov 10, 2019
0303eb6
Merge pull request #158 from ChaojieLiu666/Revise-Code
chaojliu Nov 10, 2019
f7abf8b
BudgetView Test
termehlee Nov 10, 2019
33780c5
Merge remote-tracking branch 'upstream/master'
termehlee Nov 10, 2019
3431f1a
Merge pull request #159 from termehlee/master
termehlee Nov 10, 2019
1895be3
Minor refactor of PlanBot
lucasfoo Nov 10, 2019
313cdf7
Revise Codes
chaojliu Nov 10, 2019
26acf77
Merge branch 'master' into Revise-Code
chaojliu Nov 10, 2019
c798dc0
Merge pull request #160 from ChaojieLiu666/Revise-Code
chaojliu Nov 10, 2019
45c62c0
Merge pull request #161 from lucasfoo/master
lucasfoo Nov 10, 2019
1e216d9
Improve code, JavaDoc
termehlee Nov 10, 2019
5d433c1
Merge remote-tracking branch 'upstream/master'
termehlee Nov 10, 2019
f4cbc49
Merge pull request #162 from termehlee/master
termehlee Nov 10, 2019
61056e6
Minor fix for javadoc
lucasfoo Nov 10, 2019
a3bd005
Checkstyle fixes
lucasfoo Nov 10, 2019
d50e367
Merge pull request #163 from lucasfoo/master
lucasfoo Nov 10, 2019
65e2798
Add files via upload
chaojliu Nov 10, 2019
bce3bb2
Delete AutoCompleter Class diagram.png
chaojliu Nov 10, 2019
09e5898
Add files via upload
chaojliu Nov 10, 2019
d285537
Delete AutoCompleter Class diagram.png
chaojliu Nov 10, 2019
3d1c392
Add files via upload
chaojliu Nov 10, 2019
3b5ce97
Delete Activity_Diagram_ AutoCompleter.png
chaojliu Nov 10, 2019
02e71b6
Add files via upload
chaojliu Nov 10, 2019
92a0334
Reduce ChecksStyle errors
termehlee Nov 10, 2019
c0a93ca
Merge pull request #165 from termehlee/master
termehlee Nov 10, 2019
150dedf
Class diagram update
lucasfoo Nov 11, 2019
349b371
Fixed all checkstyles
lucasfoo Nov 11, 2019
a21f445
Merge pull request #166 from lucasfoo/master
lucasfoo Nov 11, 2019
4fa135e
Added the populated data
chaojliu Nov 11, 2019
a64aebc
Merge pull request #167 from ChaojieLiu666/Add-populated-data
chaojliu Nov 11, 2019
4d57946
minor fix to some questions
lucasfoo Nov 11, 2019
8c9dd20
Fixed IncomeTest
termehlee Nov 11, 2019
a1e0a8d
Screenshots update
lucasfoo Nov 11, 2019
740caba
Merge pull request #169 from lucasfoo/master
lucasfoo Nov 11, 2019
f6971a2
Merge pull request #168 from termehlee/master
lucasfoo Nov 11, 2019
b6824a2
Fixed all checkstyles + income demo
termehlee Nov 11, 2019
600f6c0
Checkstyle fixes AGAINN WTF
lucasfoo Nov 11, 2019
661e599
Merge pull request #171 from lucasfoo/master
lucasfoo Nov 11, 2019
af042f8
Merge remote-tracking branch 'upstream/master'
termehlee Nov 11, 2019
3b4eab6
Merge pull request #172 from termehlee/master
termehlee Nov 11, 2019
892e4ce
Mistakes were made....
termehlee Nov 11, 2019
55c4043
Merge pull request #173 from termehlee/master
termehlee Nov 11, 2019
a3b2610
changed planBots tags to UPPERCASE
lucasfoo Nov 11, 2019
0551f05
update architecture diagram
lucasfoo Nov 11, 2019
86eff01
Add files via upload
chaojliu Nov 11, 2019
e75ac1f
update class diagram
lucasfoo Nov 11, 2019
4e808a4
update activity diagram
lucasfoo Nov 11, 2019
e5da4bc
Merge pull request #174 from lucasfoo/master
lucasfoo Nov 11, 2019
44097f5
Delete AutoCompleter Class Diagram.png
chaojliu Nov 11, 2019
2ca3237
Add files via upload
chaojliu Nov 11, 2019
6566c5e
Delete AutoCompleter Class diagram.png
chaojliu Nov 11, 2019
a83d9af
Add files via upload
chaojliu Nov 11, 2019
1c8c5ec
Delete AutoCompleter Class diagram.png
chaojliu Nov 11, 2019
2b32b35
Add files via upload
chaojliu Nov 11, 2019
9fd33b4
Delete AutoCompleter Class diagram.png
chaojliu Nov 11, 2019
774e320
Add files via upload
chaojliu Nov 11, 2019
0022c6b
Income List Class Diagram
termehlee Nov 11, 2019
99aa4c5
update sequence diagram
lucasfoo Nov 11, 2019
7fc7dc5
Merge pull request #175 from lucasfoo/master
lucasfoo Nov 11, 2019
dba61d2
Add files via upload
termehlee Nov 11, 2019
042a879
Small change
chaojliu Nov 11, 2019
01b4bd6
Merge branch 'master' into Add-populated-data
chaojliu Nov 11, 2019
2951108
Merge pull request #176 from ChaojieLiu666/Add-populated-data
chaojliu Nov 11, 2019
66b5180
Final Revision
chaojliu Nov 11, 2019
5b3afbd
Merge pull request #177 from ChaojieLiu666/final-revision
chaojliu Nov 11, 2019
adbec17
update profile picture name
lucasfoo Nov 11, 2019
ee6c205
Merge pull request #178 from lucasfoo/master
lucasfoo Nov 11, 2019
d45f7a6
Add files via upload
lucasfoo Nov 11, 2019
9f35dee
Delete PlanQuestion Flow.png
lucasfoo Nov 11, 2019
7474152
Add files via upload
lucasfoo Nov 11, 2019
aadb609
Delete PlanQuestion Flow.png
lucasfoo Nov 11, 2019
7aa9a1b
Add files via upload
lucasfoo Nov 11, 2019
3090b0f
Add files via upload
termehlee Nov 11, 2019
b5eee37
Final Revision
chaojliu Nov 11, 2019
edb7e21
Merge pull request #180 from ChaojieLiu666/Final-Revision
chaojliu Nov 11, 2019
952ac64
Delete Payment Reminder.png
chaojliu Nov 11, 2019
06cc098
Add files via upload
chaojliu Nov 11, 2019
e4d1212
Delete Payment Reminder.png
chaojliu Nov 11, 2019
4cfcec3
Add files via upload
chaojliu Nov 11, 2019
a5a434a
Add files via upload
lucasfoo Nov 11, 2019
467f6a5
Delete Basic Sequence Diagram Example.png
lucasfoo Nov 11, 2019
cc99563
Add files via upload
lucasfoo Nov 11, 2019
6c88f23
Add files via upload
chaojliu Nov 11, 2019
0ff2399
Delete Class Diagram of Payment Reminder.png
chaojliu Nov 11, 2019
c262fb5
Add files via upload
chaojliu Nov 11, 2019
f1b9caf
Update Ui.png
lucasfoo Nov 11, 2019
c06d50d
Merge pull request #181 from lucasfoo/master
lucasfoo Nov 11, 2019
786c0f8
Delete README.md
lucasfoo Nov 11, 2019
1a77876
Update UserGuide.md
lucasfoo Nov 11, 2019
55debaf
Create DeveloperGuide
lucasfoo Nov 11, 2019
7a38b7d
Create DeveloperGuide.md
lucasfoo Nov 11, 2019
89a1d55
Delete DeveloperGuide
lucasfoo Nov 11, 2019
2683663
push
chaojliu Nov 14, 2019
93b96bd
Merge pull request #182 from ChaojieLiu666/master
chaojliu Nov 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,16 @@
# Gradle build files
/.gradle/
/build/
src/main/resources/docs/
/src/main/resources/docs/

# MacOS custom attributes files created by Finder
.DS_Store
*.iml
bin/
/bin/

# Duke data files
/data/
/addressbook.log.0
/Duke++.log.0
/Duke++.log.0.lck
/Duke++.log.0.1
6 changes: 6 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
language: java
jdk: oraclejdk11

before install:
- chmod +x gradlew

Binary file added Activity_Diagram_inputHistory.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
597 changes: 597 additions & 0 deletions Duke++.log.0.1

Large diffs are not rendered by default.

31 changes: 14 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Duke++
Duke++ a better version of duke, a task scheduling tool and is built upon Java 11 platfrom.
For executable Jar files, please visit the [releases](https://github.com/AY1920S1-CS2113T-T12-2/main/releases) section


# Developer Guide
[hackmd](https://hackmd.io/@cCavNghrQpmWYXAaTaB_CQ/rk1rcMluS)


# Setting up


# User Guide

[hackmd](https://hackmd.io/eDB8uyaARGWpFUN58Aw-eg?both)

**Prerequisites**

* JDK 11
Expand All @@ -20,20 +34,3 @@
1. Ensure that your src folder is checked. Keep clicking `Next`.
1. Click `Finish`.

# Tutorials

Duke Increment | Tutorial
---------------|---------------
`A-Gradle` | [Gradle Tutorial](tutorials/gradleTutorial.md)
`A-TextUiTesting` | [Text UI Testing Tutorial](tutorials/textUiTestingTutorial.md)
`Level-10` | JavaFX tutorials:<br>→ [Part 1: Introduction to JavaFX][fx1]<br>→ [Part 2: Creating a GUI for Duke][fx2]<br>→ [Part 3: Interacting with the user][fx3]<br>→ [Part 4: Introduction to FXML][fx4]

[fx1]: <tutorials/javaFxTutorialPart1.md>
[fx2]: <tutorials/javaFxTutorialPart2.md>
[fx3]: <tutorials/javaFxTutorialPart3.md>
[fx4]: <tutorials/javaFxTutorialPart4.md>

# Feedback, Bug Reports

* If you have feedback or bug reports, please post in [se-edu/duke issue tracker](https://github.com/se-edu/duke/issues).
* We welcome pull requests too.
65 changes: 65 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '5.1.0'
}


tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
checkstyle {
toolVersion = '8.23'
}

shadowJar {
archiveBaseName = "duke"
archiveVersion = "V1.4"
archiveClassifier = null
archiveAppendix = null
mainClassName = 'duke.Launcher'
}

dependencies {
String javaFxVersion = '11'

implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux'

implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.7.0'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.7.4'

testImplementation 'org.junit.jupiter:junit-jupiter:5.5.0'
}

test {
useJUnitPlatform()
}

group 'seedu.duke'
version '0.1.0'

repositories {
mavenCentral()
}

application {
// Change this to your main class.
mainClassName = "duke/Launcher"
}

run {
standardInput = System.in
systemProperty "file.encoding", "utf-8"
}
260 changes: 260 additions & 0 deletions config/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">

<!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.sf.net (or in your downloaded distribution).
To completely disable a check, just comment it out or delete it from the file.
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
-->

<module name = "Checker">
<property name="charset" value="UTF-8"/>

<property name="severity" value="error"/>

<property name="fileExtensions" value="java, properties, xml"/>
<!-- Excludes all 'module-info.java' files -->
<!-- See https://checkstyle.org/config_filefilters.html -->
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="module\-info\.java$"/>
</module>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
<!-- Filter out Checkstyle warnings that have been suppressed with the @SuppressWarnings annotation -->
<module name="SuppressWarningsFilter" />
<module name="TreeWalker">
<!-- Make the @SuppressWarnings annotations available to Checkstyle -->
<module name="SuppressWarningsHolder" />
<module name="OuterTypeFilename"/>
<module name="IllegalTokenText">
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
<property name="format"
value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
<property name="message"
value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
</module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowEscapesForControlCharacters" value="true"/>
<property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/>
</module>
<module name="LineLength">
<property name="max" value="120"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="AvoidStarImport"/>
<module name="OneTopLevelClass"/>
<module name="NoLineWrap"/>
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<module name="NeedBraces"/>
<module name="LeftCurly"/>
<module name="RightCurly">
<property name="id" value="RightCurlySame"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
LITERAL_DO"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurlyAlone"/>
<property name="option" value="alone"/>
<property name="tokens"
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
INSTANCE_INIT"/>
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyLambdas" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="ArrayTypeStyle"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="UpperEll"/>
<module name="ModifierOrder"/>
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapDot"/>
<property name="tokens" value="DOT"/>
<property name="option" value="nl"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapComma"/>
<property name="tokens" value="COMMA"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
<property name="id" value="SeparatorWrapEllipsis"/>
<property name="tokens" value="ELLIPSIS"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
<property name="id" value="SeparatorWrapArrayDeclarator"/>
<property name="tokens" value="ARRAY_DECLARATOR"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapMethodRef"/>
<property name="tokens" value="METHOD_REF"/>
<property name="option" value="nl"/>
</module>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="TypeName">
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MemberName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LambdaParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CatchParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LocalVariableName">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name="Indentation">
<property name="basicOffset" value="4"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="0"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="4"/>
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal" value="true"/>
<property name="allowedAbbreviationLength" value="1"/>
</module>
<module name="OverloadMethodsDeclarationOrder"/>
<module name="VariableDeclarationUsageDistance"/>
<module name="MethodParamPad"/>
<module name="NoWhitespaceBefore">
<property name="tokens"
value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
<property name="allowLineBreaks" value="true"/>
</module>
<module name="ParenPad"/>
<module name="OperatorWrap">
<property name="option" value="NL"/>
<property name="tokens"
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationMostCases"/>
<property name="tokens"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationVariables"/>
<property name="tokens" value="VARIABLE_DEF"/>
<property name="allowSamelineMultipleAnnotations" value="true"/>
</module>
<module name="NonEmptyAtclauseDescription"/>
<module name="JavadocTagContinuationIndentation"/>
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
<!-- <module name="JavadocParagraph"/> -->
<module name="AtclauseOrder">
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
<property name="target"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
</module>
<module name="JavadocMethod">
<property name="scope" value="public"/>
<property name="allowMissingParamTags" value="true"/>
<property name="allowMissingThrowsTags" value="true"/>
<property name="allowMissingReturnTag" value="true"/>
<property name="allowedAnnotations" value="Override, Test"/>
<property name="allowThrowsTagsForSubclasses" value="true"/>
</module>
<module name="MissingJavadocMethod">
<property name="scope" value="public"/>
<property name="minLineCount" value="2"/>
<property name="allowedAnnotations" value="Override, Test"/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags" value="false"/>
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/>
</module>
<module name="CommentsIndentation"/>
</module>
</module>
Loading