Skip to content

[Mark Biju George] iP #306

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

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
d839859
Add Gradle support
May 24, 2020
88c8d20
Update Duke.java
markbiju16 Jan 20, 2022
6a2ea62
Update Duke.java
markbiju16 Jan 20, 2022
8d817b0
Update Duke.java
markbiju16 Jan 20, 2022
b8c4536
Level-4
markbiju16 Jan 21, 2022
0eaf074
Level-4 upd
markbiju16 Jan 22, 2022
a5fd6ec
A-TextUiTesting
markbiju16 Jan 22, 2022
0f0b793
Level-5
markbiju16 Jan 26, 2022
3a748c6
Update Duke.java
markbiju16 Jan 26, 2022
f1e27b0
Level-7
markbiju16 Feb 1, 2022
3edf9ae
Level-8
markbiju16 Feb 2, 2022
2466584
Merge branch 'branch-Level-8'
markbiju16 Feb 2, 2022
987ae8f
A-MoreOOP
markbiju16 Feb 5, 2022
91a36da
update A-MoreOOP
markbiju16 Feb 5, 2022
83901c6
Delete AddCommand.java
markbiju16 Feb 11, 2022
ab034ad
A-Packages
markbiju16 Feb 11, 2022
edcb4fc
A-JUnit
markbiju16 Feb 12, 2022
eb2a949
Delete file.txt
markbiju16 Feb 12, 2022
cd19b3c
A-Jar
markbiju16 Feb 12, 2022
a61bb16
branch-A-JavaDoc
markbiju16 Feb 12, 2022
4440da8
branch-A-CodingStandard
markbiju16 Feb 13, 2022
3430097
Level-9
markbiju16 Feb 14, 2022
a502950
Merge branch 'branch-A-CodingStandard'
markbiju16 Feb 14, 2022
5a5a5a0
Merge branch 'branch-Level-9'
markbiju16 Feb 14, 2022
c6b7c86
Merge branch 'add-gradle-support'
markbiju16 Feb 15, 2022
e11f89b
Level-10
markbiju16 Feb 19, 2022
9c12c96
Update Storage.java
markbiju16 Feb 19, 2022
5f2d63d
update Ui
markbiju16 Feb 19, 2022
8255963
Update tasks.txt
markbiju16 Feb 19, 2022
f3bb3d2
Update build.gradle
markbiju16 Feb 19, 2022
53ed0bf
update A-Jar
markbiju16 Feb 19, 2022
dc7bd54
update Unmark
markbiju16 Feb 19, 2022
690237a
Update find
markbiju16 Feb 19, 2022
6cb9827
Update delete
markbiju16 Feb 19, 2022
cbc97e1
Add assertions
markbiju16 Feb 21, 2022
df4e00f
Update Ui.java
markbiju16 Feb 21, 2022
8ae349f
Merge branch 'branch-Level-10'
markbiju16 Feb 21, 2022
3e5b53a
Improve code quality
markbiju16 Feb 21, 2022
5dc99cf
Update Deadline.java
markbiju16 Feb 21, 2022
7b9e93d
Update Deadline.java
markbiju16 Feb 21, 2022
c13f1a0
Merge branch 'master' into branch-A-Assertions
markbiju Feb 21, 2022
134e81c
Merge pull request #2 from markbiju/branch-A-Assertions
markbiju Feb 21, 2022
7cab92e
Merge branch 'master' into branch-A-CodeQuality
markbiju Feb 21, 2022
be9a892
Merge pull request #3 from markbiju/branch-A-CodeQuality
markbiju Feb 21, 2022
d93a64d
Update deadline saving
markbiju16 Feb 21, 2022
84784f9
Merge branch 'master' of https://github.com/markbiju/ip
markbiju16 Feb 21, 2022
ad26dcd
Update deadline saving
markbiju16 Feb 21, 2022
9124b44
BCD-Extension
markbiju16 Feb 21, 2022
0613f16
Update README.md
markbiju16 Feb 21, 2022
354d8b1
Ui.png
markbiju16 Feb 21, 2022
aacf706
Update README.md
markbiju16 Feb 21, 2022
6deb38d
Update README.md
markbiju16 Feb 21, 2022
0411ea5
Update README.md
markbiju16 Feb 21, 2022
046ca8f
Update SnoozeCommand.java
markbiju16 Feb 21, 2022
0cf6b0c
Update README.md
markbiju Feb 22, 2022
dd9d9a3
Update Parser.java
markbiju16 Feb 24, 2022
d84593a
Update Parser.java
markbiju16 Feb 24, 2022
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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke project template
# duke.Duke project template

This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it.

Expand All @@ -13,7 +13,7 @@ Prerequisites: JDK 11, update Intellij to the most recent version.
1. If there are any further prompts, accept the defaults.
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).<br>
In the same dialog, set the **Project language level** field to the `SDK default` option.
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:
3. After that, locate the `src/main/java/duke.Duke.java` file, right-click it, and choose `Run duke.Duke.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output:
```
Hello from
____ _
Expand Down
67 changes: 67 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '5.1.0'
}

repositories {
mavenCentral()
}

dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0'
}

test {
useJUnitPlatform()

testLogging {
events "passed", "skipped", "failed"

showExceptions true
exceptionFormat "full"
showCauses true
showStackTraces true
showStandardStreams = false
}
}

application {
mainClassName = "duke.Launcher"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.29'
}

run{
standardInput = System.in
}

repositories {
mavenCentral()
}

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'
}
2 changes: 2 additions & 0 deletions data/tasks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
T | 0 | eat
D | 0 | pray | 01 Jul 2022 1800
57 changes: 42 additions & 15 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,56 @@
# User Guide
# Adam - User Guide

## Quick Start

1. Ensure you have Java 11 or above installed on your computer.
2. Download Adam from [here](https://github.com/markbiju/ip/releases/download/A-Release/duke.jar)
3. Copy the file to the directory you want to use as the home directory
4. Double click the file to start using Adam!

## Features

### Feature-ABC
### Todo

Description of the feature.
Adding a task you have to do: **todo**
Format: todo TASK
Example: todo math homework

### Feature-XYZ
### Deadline

Description of the feature.
Adding an impending deadline: **deadline**
Format: deadline TASK /by YYYY-MM-DD TIME
Example: deadline finish individual project /by 2022-01-07 1800

## Usage
### Event

### `Keyword` - Describe action
Adding an upcoming event: **event**
Format: event TASK /at START TIME-END TIME
Example: event Mark's party /at 4pm-6pm

Describe the action and its outcome.
### Snooze
Extends the deadline of a task by 1 day: **snooze**
Format: snooze INDEX_OF_TASK
Example: snooze 2

Example of usage:
### Mark
Marks task as completed: **mark**
Format: mark INDEX_OF_TASK
Example: mark 2

`keyword (optional arguments)`
### Unmark
Marks completed tasks as incomplete: **unmark**
Format: unmark INDEX_OF_TASK
Example: unmark 2

Expected outcome:
### Delete
Deletes a task from the list: **delete**
Format: delete INDEX_OF_TASK
Example: delete 2

Description of the outcome.
### List
Listing out all tasks added to Adam: **list**
Format: list

```
expected output
```
### Save
Saves tasks to computer: **bye**
Format: bye
Binary file added docs/Ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
183 changes: 183 additions & 0 deletions gradlew
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
#!/usr/bin/env sh

#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
echo "$*"
}

die () {
echo
echo "$*"
echo
exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`

# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option

if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

exec "$JAVACMD" "$@"
Loading