diff --git a/README.md b/README.md
index 9879cf01..68052cd4 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,6 @@ TMC-CLI is the command-line client for University of Helsinki's TestMyCode -fram
* Java Runtime Environment 8
* Linux, Mac OS X or Microsoft Windows
- * Currently only limited support for Windows
* Other Unix-like systems may work, but are not tested
* If you want autocompletion, Bash or a Bash-compatible shell is required
@@ -33,6 +32,14 @@ curl -0 https://raw.githubusercontent.com/testmycode/tmc-cli/master/scripts/inst
TMC-CLI should now be installed. You can try running it with `tmc` in a new terminal.
+### Using the Windows installer
+
+Download this [installer](https://github.com/testmycode/tmc-cli/blob/master/installers/TMC-cli_0.9.3_installer.exe)
+
+Run the installation wizard.
+
+TMC-CLI should now be installed. You can try running it with `tmc` in PowerShell/Command Prompt/other terminal software.
+
### Manual installation
Download the latest [release](https://github.com/testmycode/tmc-cli/releases/latest). If you use Linux or OS X, choose "tmc". If you use Windows, choose "tmc-cli-[VERSION].jar".
@@ -62,6 +69,10 @@ Now that you've installed tmc-cli, you can view all available commands by runnin
Delete tmc from the directory where you downloaded it, .tmc-autocomplete.sh from your home directory and remove 'source $HOME/.tmc-autocomplete' from your shell rc file.
+### On Windows
+
+If you installed TMC-cli with the installer-exe found in this repository's installers-folder, you can just navigate to where you installed TMC-cli (probably C:\Program Files\TMC-cli), and run the uninstaller `unins000.exe` there.
+
## Manual
The Unix man page for tmc-cli is located in docs/tmc.1 in this repository. To view it, open it with `man -l tmc.1`.
diff --git a/installers/TMC-cli_0.9.3_installer.exe b/installers/TMC-cli_0.9.3_installer.exe
new file mode 100755
index 00000000..e35415ef
Binary files /dev/null and b/installers/TMC-cli_0.9.3_installer.exe differ
diff --git a/pom.xml b/pom.xml
index d4afaeaa..e46d5b00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
fi.helsinki.cs.tmc.cli
tmc-cli
- 0.9.2
+ 0.9.3
jar
UTF-8
@@ -14,16 +14,12 @@
- tmc
- TMC repo
- http://maven.testmycode.net/nexus/content/groups/public
-
- true
-
-
- true
- always
-
+ maven.mooc.fi.releases
+ http://maven.mooc.fi/releases
+
+
+ maven.mooc.fi.snapshots
+ http://maven.mooc.fi/snapshots
@@ -36,7 +32,7 @@
fi.helsinki.cs.tmc
core
- 0.10.12-SNAPSHOT
+ 0.10.13-SNAPSHOT
commons-cli
@@ -46,7 +42,7 @@
com.google.code.gson
gson
- 2.8.2
+ 2.8.6
compile
@@ -57,7 +53,7 @@
org.slf4j
slf4j-log4j12
- 1.7.25
+ 1.7.30
org.mockito
@@ -198,20 +194,20 @@
org.apache.maven.plugins
maven-checkstyle-plugin
- 2.17
+ 3.1.0
${basedir}/src/main/resources/google_checks.xml
true
UTF-8
false
true
- ${project.build.sourceDirectory}
+ ${project.build.sourceDirectory}
com.puppycrawl.tools
checkstyle
- 8.2
+ 8.29
diff --git a/src/main/java/fi/helsinki/cs/tmc/cli/Application.java b/src/main/java/fi/helsinki/cs/tmc/cli/Application.java
index 1f18bf17..7f86e64b 100644
--- a/src/main/java/fi/helsinki/cs/tmc/cli/Application.java
+++ b/src/main/java/fi/helsinki/cs/tmc/cli/Application.java
@@ -33,7 +33,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
/**
* The application class for the program.
diff --git a/src/main/java/fi/helsinki/cs/tmc/cli/command/hidden/DocumentCommand.java b/src/main/java/fi/helsinki/cs/tmc/cli/command/hidden/DocumentCommand.java
index dde78094..628f8424 100644
--- a/src/main/java/fi/helsinki/cs/tmc/cli/command/hidden/DocumentCommand.java
+++ b/src/main/java/fi/helsinki/cs/tmc/cli/command/hidden/DocumentCommand.java
@@ -235,7 +235,7 @@ private String loadFile(String filename) {
}
try {
- return IOUtils.toString(stream, StandardCharsets.UTF_8);
+ return IOUtils.toString(stream, StandardCharsets.UTF_8.toString());
} catch (IOException e) {
io.errorln("Encoding failure... REALLY???");
return null;
diff --git a/src/main/resources/google_checks.xml b/src/main/resources/google_checks.xml
index 87ae910d..a214cc83 100644
--- a/src/main/resources/google_checks.xml
+++ b/src/main/resources/google_checks.xml
@@ -1,16 +1,17 @@
+ "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
+ "https://checkstyle.org/dtds/configuration_1_3.dtd">
@@ -21,55 +22,97 @@
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
-
+
+
+
+
+
+
+
-
-
-
+
-
+
+
+
+ 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)"/>
+ value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
@@ -79,6 +122,9 @@
+
@@ -111,58 +157,63 @@
+ value="Package name ''{0}'' must match pattern ''{1}''."/>
+
+ value="Type name ''{0}'' must match pattern ''{1}''."/>
+ value="Member name ''{0}'' must match pattern ''{1}''."/>
+ value="Parameter name ''{0}'' must match pattern ''{1}''."/>
+
+
+
+
+ value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
-
+ value="Local variable name ''{0}'' must match pattern ''{1}''."/>
+ value="Class type name ''{0}'' must match pattern ''{1}''."/>
+ value="Method type name ''{0}'' must match pattern ''{1}''."/>
+ value="Interface type name ''{0}'' must match pattern ''{1}''."/>
+ value="GenericWhitespace ''{0}'' is followed by whitespace."/>
+ value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
+ value="GenericWhitespace ''{0}'' should followed by whitespace."/>
+ value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
@@ -175,6 +226,9 @@
+
@@ -182,20 +236,35 @@
+
+
+
+
-
-
+
-
+
+
+
-
+
-
+
@@ -203,28 +272,35 @@
+
-
+
-
+
-
+
+
+
+
+
-
+
+ value="Method name ''{0}'' must match pattern ''{1}''."/>
@@ -232,6 +308,14 @@
-
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/src/test/java/fi/helsinki/cs/tmc/cli/backend/TmcUtilTest.java b/src/test/java/fi/helsinki/cs/tmc/cli/backend/TmcUtilTest.java
index b9efe558..fe80b8e0 100644
--- a/src/test/java/fi/helsinki/cs/tmc/cli/backend/TmcUtilTest.java
+++ b/src/test/java/fi/helsinki/cs/tmc/cli/backend/TmcUtilTest.java
@@ -9,13 +9,9 @@
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import com.sun.source.util.TaskEvent;
-import fi.helsinki.cs.tmc.cli.Application;
import fi.helsinki.cs.tmc.cli.core.CliContext;
import fi.helsinki.cs.tmc.cli.io.CliProgressObserver;
import fi.helsinki.cs.tmc.cli.io.TestIo;
@@ -29,21 +25,15 @@
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
import fi.helsinki.cs.tmc.core.domain.submission.FeedbackAnswer;
import fi.helsinki.cs.tmc.core.domain.submission.SubmissionResult;
-import fi.helsinki.cs.tmc.core.exceptions.FailedHttpResponseException;
-import fi.helsinki.cs.tmc.core.exceptions.ObsoleteClientException;
import fi.helsinki.cs.tmc.core.holders.TmcSettingsHolder;
import fi.helsinki.cs.tmc.langs.abstraction.ValidationResult;
import fi.helsinki.cs.tmc.langs.domain.RunResult;
-import fi.helsinki.cs.tmc.langs.util.TaskExecutor;
-import org.apache.http.entity.BasicHttpEntity;
-import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
-import org.omg.PortableInterceptor.ServerRequestInfo;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;