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

[Natalie Tan] Duke Increments #344

Open
wants to merge 96 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 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
2327b2a
complete Level-1
nattanyz Aug 29, 2019
791010a
add to process method, create DukeBot and TaskList classes
nattanyz Aug 29, 2019
070f7e5
encapsulate logic in DukeBot class, implement Level-2
nattanyz Aug 29, 2019
d497040
add Task class, implement Level-3
nattanyz Aug 29, 2019
17493be
add TaskType enum, welcomeMessage, and minor changes to comments
nattanyz Aug 29, 2019
f84bf53
modify process() method (incomplete)
nattanyz Aug 30, 2019
6bb6adf
implement Level-4, Level-5 and A-Exceptions
nattanyz Sep 2, 2019
6a07612
implement Level-6, add deleteTask() method to TaskList class
nattanyz Sep 5, 2019
b1e9465
Merge branch 'gradle'
nattanyz Sep 5, 2019
7e6ed3a
merge branch 'gradle'
nattanyz Sep 5, 2019
070a1e2
start to implement gson for Level-7
nattanyz Sep 5, 2019
148f51b
create Command, Parser, Storage, Ui classes and remove DukeBot class …
nattanyz Sep 6, 2019
54e6458
create and update classes for each type of Command with working imple…
nattanyz Sep 6, 2019
8eafe91
something's wrong :(
nattanyz Sep 6, 2019
06492d2
remove no-longer-used processInput method in TaskList class, implemen…
nattanyz Sep 8, 2019
d89a23a
place java files in packages
nattanyz Sep 8, 2019
94dcf1c
add DukeTest.java, modify build.gradle to support JUnit
nattanyz Sep 9, 2019
13c1f9b
remove unnecessary iterators and replace unnecessary references to "t…
nattanyz Sep 9, 2019
72d92b2
add newTask method to separate creating and adding of tasks, remove a…
nattanyz Sep 9, 2019
de6b351
partially implement load() and save() methods in Storage class using …
nattanyz Sep 9, 2019
0d7e28e
resolve main class not found issue, change command classes to use ui.…
nattanyz Sep 27, 2019
82c5a39
build jar file, add "command not recognised" error message
nattanyz Sep 27, 2019
a0ae06d
attempt to implement datetime
nattanyz Sep 27, 2019
7043555
implement execute() in abstract class AddTaskCommand, implement creat…
nattanyz Sep 29, 2019
ce6a15d
create DukeException class and ExceptionType enum to handle different…
nattanyz Sep 29, 2019
901c014
identify need for error handling when user enters "todo" without anyt…
nattanyz Sep 29, 2019
51e41e5
implement proper exception handling, abstract commonalities of AddTod…
nattanyz Sep 29, 2019
404874b
Merge pull request #6 from nattanyz/branch-Level-8
nattanyz Sep 29, 2019
0dca0c2
Merge branch 'master' of https://github.com/nattanyz/duke
nattanyz Sep 29, 2019
7cffc25
FINALLY, FINALLY implemented Level-7
nattanyz Sep 29, 2019
3413d6b
move exception-related classes to util.exception, add UiMessage enum …
nattanyz Sep 29, 2019
3988b1d
update gitignore to ignore data files
nattanyz Sep 29, 2019
66a1ab5
remove Storage param from execute() method, remove Gson from build.gr…
nattanyz Sep 29, 2019
f3fbba2
add TaskType enum to use in Task and related classes, remove redundan…
nattanyz Sep 29, 2019
003af61
add and edit JavaDoc for all Command classes and Enums
nattanyz Sep 29, 2019
dd6a241
begin to implement Snooze command
nattanyz Sep 29, 2019
b308c14
add ModifyTaskCommand class to simplify implementations of Done, Snoo…
nattanyz Sep 29, 2019
98d1395
implement C-Priority
nattanyz Sep 29, 2019
3034767
refactor: rename Deadline, Todo and Event to DeadlineTask, TodoTask a…
nattanyz Sep 29, 2019
94dd6d4
move parseDate() to DateTime class, change implementations of Deadlin…
nattanyz Sep 29, 2019
b744f1d
implement snoozeDate() and snooze() methods
nattanyz Sep 29, 2019
8b3d7c6
new jar file for v0.2
nattanyz Sep 29, 2019
a89e491
configure build.gradle for JavaFX and install SceneBuilder
nattanyz Sep 29, 2019
8d0aa67
follow GUI setup tutorial, original application is not broken (yay!)
nattanyz Sep 30, 2019
c6e12d8
manage to compile and run, opens GUI window
nattanyz Sep 30, 2019
3ecafbf
change images to png (but still cannot get them to appear)
nattanyz Sep 30, 2019
e4fd3fc
wrap TextField and Button in HBox
nattanyz Sep 30, 2019
6bfa580
rectify MainWindow fit
nattanyz Sep 30, 2019
6c84fec
refactor: move GUI-related classes to duke.gui, add title and applica…
nattanyz Sep 30, 2019
d9b9f4d
fix scrolling and resizing behaviour of MainWindow, add some JavaDoc
nattanyz Sep 30, 2019
eaaf797
refactor: organise methods in Duke class
nattanyz Sep 30, 2019
97eaa87
replace Ui class with Ui interface and Cli and Gui implementations, a…
nattanyz Sep 30, 2019
be0d50f
continue refactoring in earlier commit
nattanyz Sep 30, 2019
d5daa2d
create CliDuke and GuiDuke classes to implement Duke interface, set d…
nattanyz Sep 30, 2019
64b49d2
refactor: rename DialogBox to MessageBox.add ColourScheme enum to tak…
nattanyz Sep 30, 2019
2b12109
fix VBox width issue, complete refactoring of dialogBox to messageBox
nattanyz Sep 30, 2019
4ed6113
complete refactoring from previous commit, add GREY colour scheme
nattanyz Sep 30, 2019
6608006
partially implement GUI using messageBoxQueue. changed font family an…
nattanyz Sep 30, 2019
95db334
use ui.showMessage() in Storage class, add try/catch blocks to debug,…
nattanyz Sep 30, 2019
da470b7
add Storage param back to execute() method in all Commands, add stora…
nattanyz Sep 30, 2019
427b3d6
add DukeMessageBox, ExceptionMessageBox, TaskMessageBox and UserMessa…
nattanyz Sep 30, 2019
ed3a65a
add showUserInput() method to Gui class
nattanyz Sep 30, 2019
8505aa5
remove System.out.println statements. add SaveCommand
nattanyz Sep 30, 2019
68257c5
Merge pull request #7 from nattanyz/branch-Level-10
nattanyz Sep 30, 2019
aff5481
Merge branch 'master' of https://github.com/nattanyz/duke into branch…
nattanyz Sep 30, 2019
95fc0ad
remove redundant print statements in Task class, change filePath for …
nattanyz Sep 30, 2019
506bd56
Merge pull request #8 from nattanyz/branch-Level-10
nattanyz Sep 30, 2019
ae70f07
Merge branch 'master' of https://github.com/nattanyz/duke
nattanyz Sep 30, 2019
a988fae
begin writing readme
nattanyz Sep 30, 2019
a9e589d
remove external readme file
nattanyz Sep 30, 2019
5720d80
resize images in readme
nattanyz Sep 30, 2019
52bf5a7
edits to readme
nattanyz Sep 30, 2019
9725820
complete readme
nattanyz Sep 30, 2019
cd2608c
add assertions, fix some UI messages, remove redundant spaces
nattanyz Sep 30, 2019
434af83
change application mainClassName in build.gradle, resize images in re…
nattanyz Sep 30, 2019
77f0894
Set theme jekyll-theme-cayman
nattanyz Sep 30, 2019
e6bd017
move screenshots to docs/images folder, publish GitHub pages
nattanyz Sep 30, 2019
39f4004
add ui.png to docs
nattanyz Sep 30, 2019
6a0dbab
refactor: rename Duke to Dose
nattanyz Sep 30, 2019
5d1b9ae
add HelpCommand
nattanyz Sep 30, 2019
f44e942
add TaskTest
nattanyz Sep 30, 2019
cad088e
add UiMessageTest
nattanyz Sep 30, 2019
e960263
Merge pull request #9 from nattanyz/branch-Tests-and-Assertions
nattanyz Sep 30, 2019
a1c9980
Merge branch 'master' of https://github.com/nattanyz/duke into branch…
nattanyz Sep 30, 2019
d57ad03
Merge branch 'branch-Tests-and-Assertions'
nattanyz Sep 30, 2019
9f14515
fix broken image in readme, update build.gradle to build new jar
nattanyz Sep 30, 2019
711cb9b
fix text wrap, new v1.3 jar
nattanyz Sep 30, 2019
7ea9ef2
final fix for text wrap, redo v1.3 jar
nattanyz Sep 30, 2019
538e85a
temporarily remove ui.png to fix naming
nattanyz Oct 2, 2019
8f03955
add renamed ui.png file
nattanyz Oct 2, 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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ src/main/resources/docs/
.DS_Store
*.iml
bin/

# Data files
/data/
39 changes: 0 additions & 39 deletions README.md

This file was deleted.

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
59 changes: 59 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '5.1.0'
id 'org.openjfx.javafxplugin' version '0.0.8'
}

version '0.1.0'

repositories {
mavenCentral()
}

javafx {
version = "12.0.2"
modules = [ 'javafx.controls', 'javafx.fxml' ]
}

application {
mainClassName = 'dose.Launcher'
}

run {
standardInput = System.in
}

dependencies {
String javaFxVersion = '12'
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: 'org.openjfx', name: 'javafx-media', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-media', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-media', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-web', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-web', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-web', version: javaFxVersion, classifier: 'linux'
testImplementation 'org.junit.jupiter:junit-jupiter:5.5.0'
}

test {
useJUnitPlatform()
}

shadowJar {
archiveBaseName = "dose"
archiveVersion = "1.3"
archiveClassifier = null
archiveAppendix = null
}
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