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

[Wei Yang] iP #58

Open
wants to merge 69 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
65f72a8
Add support for Gradle workflow
j-lum Aug 6, 2019
0112efe
Add sample checkstyle configuration
j-lum Aug 12, 2019
cfd6da7
Change file mode on `gradle` to be executable
j-lum Aug 18, 2019
6e6ace1
Merge pull request #12 from j-lum/gradle+x
j-lum Aug 18, 2019
a3ca5a4
Add configuration for console applications
j-lum Aug 20, 2019
7b60e81
Merge pull request #13 from j-lum/javaexec
j-lum Aug 21, 2019
c4678f7
JavaFX tutorial: Support cross-platform JARs
j-lum Sep 20, 2019
30efbae
JavaFX tutorial: Support cross-platform JARs [#16]
damithc Oct 7, 2019
bc9750a
Merge branch 'gradle'
MeLoveCarbs Jan 21, 2020
a405554
[Update] Week 0 completed
MeLoveCarbs Jan 22, 2020
2c8a878
Level 1. Greet, Echo, Exit
MeLoveCarbs Jan 27, 2020
f5a5d1a
Level 2. Add, List
MeLoveCarbs Jan 27, 2020
48d626a
Level 3. Mark as Done, edges cases by user not implemented
MeLoveCarbs Jan 27, 2020
0540129
Level 3. Mark as Done. [TODO] edge cases for botResponse() in Duke.java
MeLoveCarbs Jan 27, 2020
aa566a0
[Update] Refactored code, Level 4 complete
MeLoveCarbs Feb 1, 2020
7731173
[Revert] Forgot to change branch when adding level 5
MeLoveCarbs Feb 8, 2020
d96c5e7
Level 5 complete. Handled most foreseeable exceptions
MeLoveCarbs Feb 8, 2020
8dc2858
Merge branch 'branch-Level-5'
MeLoveCarbs Feb 8, 2020
c289f7b
[Update for Level 5] Cleared extra files caused by improper merge, so…
MeLoveCarbs Feb 8, 2020
036a91f
[Update] Level 7 complete
MeLoveCarbs Feb 13, 2020
d2659ff
[Update] Refactored code to be more OOP. Learnt: object references ar…
MeLoveCarbs Feb 21, 2020
5408f08
Level 9 complete
MeLoveCarbs Feb 22, 2020
4de3ada
Level 8 complete
MeLoveCarbs Feb 22, 2020
4dd5648
[Update] A-JavaDoc
MeLoveCarbs Feb 22, 2020
d102dc1
Merge pull request #2 from MeLoveCarbs/branch-Level-8
MeLoveCarbs Feb 22, 2020
848a313
Merge pull request #3 from MeLoveCarbs/branch-Level-9
MeLoveCarbs Feb 22, 2020
2c9cc35
[Update] Added Parser Class in A-MoreOOP
MeLoveCarbs Feb 22, 2020
f52b755
Merge branch 'branch-A-JavaDoc'
MeLoveCarbs Feb 22, 2020
bc5e4d3
[Update] Added javadoc for findCommand() in Class TaskList
MeLoveCarbs Feb 22, 2020
ed3ea2d
[Update] A-UserGuide completed
MeLoveCarbs Feb 25, 2020
3651e85
[Update] Added some corrections to user guide
MeLoveCarbs Feb 25, 2020
493315d
Set theme jekyll-theme-cayman
MeLoveCarbs Feb 25, 2020
52937cc
Set theme jekyll-theme-cayman
MeLoveCarbs Feb 25, 2020
925dc29
Set theme jekyll-theme-tactile
MeLoveCarbs Feb 25, 2020
25edc60
Set theme jekyll-theme-cayman
MeLoveCarbs Feb 25, 2020
d0ca146
[Update] corrected doc/readme syntax
MeLoveCarbs Feb 25, 2020
60604c1
[update] Corrected docs/readme
MeLoveCarbs Feb 25, 2020
6dcb3ff
[Update] Corrected docs/readme syntax
MeLoveCarbs Feb 25, 2020
db8258f
[Update] Corrected docs/readme syntax
MeLoveCarbs Feb 25, 2020
5a29761
[update] corrected docs/readme syntax
MeLoveCarbs Feb 25, 2020
c8e69cc
Update README.md
MeLoveCarbs Feb 26, 2020
e8797c4
Update README.md
MeLoveCarbs Feb 26, 2020
f60dbc7
Update README.md
MeLoveCarbs Feb 26, 2020
cc19653
Update README.md
MeLoveCarbs Feb 26, 2020
826aba1
Update README.md
MeLoveCarbs Feb 26, 2020
11db6e2
Update README.md
MeLoveCarbs Feb 26, 2020
5de81de
Update README.md
MeLoveCarbs Feb 26, 2020
9f4e9ac
Update README.md
MeLoveCarbs Feb 26, 2020
f37e937
Rename README.md to README.adoc
MeLoveCarbs Feb 26, 2020
f22aabe
Update README.adoc
MeLoveCarbs Feb 26, 2020
d21e15c
Update and rename README.adoc to README.md
MeLoveCarbs Feb 26, 2020
2d2107c
Update README.md
MeLoveCarbs Feb 26, 2020
2680d7c
Update README.md
MeLoveCarbs Feb 26, 2020
9f83505
Update README.md
MeLoveCarbs Feb 26, 2020
c16f97a
Update README.md
MeLoveCarbs Feb 26, 2020
9abee5c
Update README.md
MeLoveCarbs Feb 26, 2020
a20ee32
Update README.md
MeLoveCarbs Feb 26, 2020
34cc58a
Update README.md
MeLoveCarbs Feb 26, 2020
d7b02db
Update README.md
MeLoveCarbs Feb 26, 2020
83a55d9
Update README.md
MeLoveCarbs Feb 26, 2020
037f59b
Update README.md
MeLoveCarbs Feb 26, 2020
eff7a91
Update README.md
MeLoveCarbs Feb 26, 2020
28af0e3
Update README.md
MeLoveCarbs Feb 26, 2020
b9eae14
Update README.md
MeLoveCarbs Feb 26, 2020
c9ee32d
[Update] updated shadowJar release version
MeLoveCarbs Mar 1, 2020
51fe1ef
Update README.md
MeLoveCarbs Mar 1, 2020
fa230ea
[Update] changed location of saved task list to home directory of all OS
MeLoveCarbs Mar 1, 2020
dfeb2ac
Merge branch 'master' of https://github.com/MeLoveCarbs/duke
MeLoveCarbs Mar 1, 2020
42fed72
Update README.md
MeLoveCarbs Mar 1, 2020
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ src/main/resources/docs/
.DS_Store
*.iml
bin/
# Duke generated files
/savedTasks.txt
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@

# Tutorials

Duke Increment | Tutorial
TestDuke 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]
`Level-10` | JavaFX tutorials:<br>→ [Part 1: Introduction to JavaFX][fx1]<br>→ [Part 2: Creating a GUI for TestDuke][fx2]<br>→ [Part 3: Interacting with the user][fx3]<br>→ [Part 4: Introduction to FXML][fx4]

[fx1]: <tutorials/javaFxTutorialPart1.md>
[fx2]: <tutorials/javaFxTutorialPart2.md>
Expand Down
1 change: 1 addition & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-cayman
39 changes: 39 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '5.1.0'
}

dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.5.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.0'
}
test {
useJUnitPlatform()
}
checkstyle {
toolVersion = '8.23'
}
shadowJar {
archiveBaseName = "dukeIP"
archiveVersion = "0.1.4"
archiveClassifier = null
archiveAppendix = null
}

group 'seedu.duke'
version '0.1.0'

repositories {
mavenCentral()
}

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

run {
standardInput = System.in
}
257 changes: 257 additions & 0 deletions config/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,257 @@
<?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>

<module name="TreeWalker">
<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="false"/>
<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