The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+GroupId | +ArtifactId | +Version | +Type | +Licenses |
---|---|---|---|---|
javax.xml.bind | +jaxb-api | +2.3.0 | +jar | +CDDL 1.1GPL2 w/ CPE |
joda-time | +joda-time | +2.9.2 | +jar | +Apache 2 |
org.apache.commons | +commons-imaging | +1.0-alpha2 | +jar | +Apache License, Version 2.0 |
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+GroupId | +ArtifactId | +Version | +Type | +Licenses |
---|---|---|---|---|
junit | +junit | +4.12 | +jar | +Eclipse Public License 1.0 |
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+GroupId | +ArtifactId | +Version | +Type | +Licenses |
---|---|---|---|---|
org.hamcrest | +hamcrest-core | +1.3 | +jar | +New BSD License |
Apache 2: Joda-Time
+CDDL 1.1: jaxb-api
+Unknown: gs-maven
+Eclipse Public License 1.0: JUnit
+Apache License, Version 2.0: Apache Commons Imaging
+GPL2 w/ CPE: jaxb-api
+New BSD License: Hamcrest Core
Filename | +Size | +Entries | +Classes | +Packages | +Java Version | +Debug Information |
---|---|---|---|---|---|---|
jaxb-api-2.3.0.jar | +125.6 kB | +136 | +111 | +7 | +9 | +Yes |
joda-time-2.9.2.jar | +625.6 kB | +752 | +246 | +7 | +1.5 | +Yes |
junit-4.12.jar | +314.9 kB | +323 | +286 | +30 | +1.5 | +Yes |
commons-imaging-1.0-alpha2.jar | +770.3 kB | +486 | +431 | +41 | +1.8 | +Yes |
hamcrest-core-1.3.jar | +45 kB | +52 | +45 | +3 | +1.5 | +Yes |
Total | +Size | +Entries | +Classes | +Packages | +Java Version | +Debug Information |
5 | +1.9 MB | +1749 | +1119 | +88 | +9 | +5 |
compile: 3 | +compile: 1.5 MB | +compile: 1374 | +compile: 788 | +compile: 55 | +9 | +compile: 3 |
test: 2 | +test: 360 kB | +test: 375 | +test: 331 | +test: 33 | +1.5 | +test: 2 |
<dependency> + <groupId>org.springframework</groupId> + <artifactId>gs-maven</artifactId> + <version>0.1.0</version> +</dependency>
<dependency org="org.springframework" name="gs-maven" rev="0.1.0"> + <artifact name="gs-maven" type="jar" /> +</dependency>
@Grapes( +@Grab(group='org.springframework', module='gs-maven', version='0.1.0') +)
implementation 'org.springframework:gs-maven:0.1.0'
libraryDependencies += "org.springframework" % "gs-maven" % "0.1.0"
[org.springframework/gs-maven "0.1.0"]
GroupId | +ArtifactId | +Version |
---|---|---|
org.apache.maven.plugins | +maven-antrun-plugin | +3.1.0 |
org.apache.maven.plugins | +maven-assembly-plugin | +3.6.0 |
org.apache.maven.plugins | +maven-dependency-plugin | +3.6.1 |
org.apache.maven.plugins | +maven-release-plugin | +3.0.1 |
GroupId | +ArtifactId | +Version |
---|---|---|
org.apache.maven.plugins | +maven-clean-plugin | +3.2.0 |
org.apache.maven.plugins | +maven-compiler-plugin | +3.11.0 |
org.apache.maven.plugins | +maven-deploy-plugin | +3.1.1 |
org.apache.maven.plugins | +maven-install-plugin | +3.1.1 |
org.apache.maven.plugins | +maven-jar-plugin | +3.3.0 |
org.apache.maven.plugins | +maven-resources-plugin | +3.3.1 |
org.apache.maven.plugins | +maven-shade-plugin | +3.2.4 |
org.apache.maven.plugins | +maven-site-plugin | +3.12.1 |
org.apache.maven.plugins | +maven-surefire-plugin | +3.2.2 |
GroupId | +ArtifactId | +Version |
---|---|---|
com.github.spotbugs | +spotbugs-maven-plugin | +4.8.5.0 |
org.apache.maven.plugins | +maven-project-info-reports-plugin | +3.5.0 |
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
Document | +Description |
---|---|
Dependencies | +This document lists the project's dependencies and provides information on each dependency. |
Dependency Information | +This document describes how to include this project as a dependency using various dependency management tools. |
About | +There is currently no description associated with this project. |
Plugin Management | +This document lists the plugins that are defined through pluginManagement. |
Plugins | +This document lists the build plugins and the report plugins used by this project. |
Summary | +This document lists other related information of this project |
The following document contains the results of SpotBugs
+SpotBugs Version is 4.8.5
+Threshold is medium
+Effort is default
Classes | +Bugs | +Errors | +Missing Classes |
---|---|---|---|
42 | +81 | +0 | +0 |
Class | +Bugs |
---|---|
program.main.Cactus | +1 |
program.main.Controller | +15 |
program.main.Field | +3 |
program.main.Game | +9 |
program.main.GamePanel | +1 |
program.main.GameWindow | +2 |
program.main.ImagePanel | +1 |
program.main.InGame | +1 |
program.main.NomadButtonPanel | +1 |
program.main.NomadMoveWindow | +1 |
program.main.NomadPipeInteraction | +1 |
program.main.Pipe | +9 |
program.main.Player | +10 |
program.main.Plumber | +4 |
program.main.PlumberButtonPanel | +1 |
program.main.PlumberMoveWindow | +1 |
program.main.PlumberPipeInteraction | +1 |
program.main.Pump | +10 |
program.main.Spring | +1 |
program.main.restart_menu | +2 |
program.main.settings | +1 |
program.main.settings$1 | +1 |
program.main.settings$2 | +1 |
program.main.startMenu | +2 |
program.main.startMenu$3 | +1 |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Random object created and used only once in new program.main.Cactus(String) | +BAD_PRACTICE | +DMI_RANDOM_USED_ONLY_ONCE | +24 | +High |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Random object created and used only once in program.main.Controller.destroyPump() | +BAD_PRACTICE | +DMI_RANDOM_USED_ONLY_ONCE | +267 | +High |
program.main.Controller.CurrentNomadTurn() may expose internal representation by returning Controller.CurrentNomad | +MALICIOUS_CODE | +EI_EXPOSE_REP | +120 | +Medium |
program.main.Controller.CurrentPlumberTurn() may expose internal representation by returning Controller.CurrentPlumber | +MALICIOUS_CODE | +EI_EXPOSE_REP | +129 | +Medium |
Public static program.main.Controller.getCurrentNomad() may expose internal representation by returning Controller.CurrentNomad | +MALICIOUS_CODE | +MS_EXPOSE_REP | +66 | +Medium |
Public static program.main.Controller.getCurrentPlumber() may expose internal representation by returning Controller.CurrentPlumber | +MALICIOUS_CODE | +MS_EXPOSE_REP | +57 | +Medium |
The method name program.main.Controller.CurrentNomadTurn() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +120 | +Medium |
The method name program.main.Controller.CurrentPlumberTurn() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +129 | +Medium |
Write to static field program.main.Controller.CurrentNomad from instance method program.main.Controller.turn() | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +181 | +Medium |
Write to static field program.main.Controller.CurrentPlumber from instance method program.main.Controller.turn() | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +148 | +Medium |
Write to static field program.main.Controller.CurrentTurnIsNomad from instance method program.main.Controller.turn() | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +174 | +Medium |
Write to static field program.main.Controller.GameOver from instance method program.main.Controller.turn() | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +138 | +Medium |
Unused field: program.main.Controller.nomadCoolDown | +PERFORMANCE | +UUF_UNUSED_FIELD | ++ | Medium |
Unused field: program.main.Controller.plumberCoolDown | +PERFORMANCE | +UUF_UNUSED_FIELD | ++ | Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
The method name program.main.Field.GetName() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +27 | +Medium |
The method name program.main.Field.SetName(String) doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +21 | +Medium |
The method name program.main.Field.SpareWater() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | ++ | Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
program.main.Game.run() invokes System.exit(...), which shuts down the entire virtual machine | +BAD_PRACTICE | +DM_EXIT | +230 | +Medium |
program.main.Game.Cactuses() may expose internal representation by returning Game.cactuses | +MALICIOUS_CODE | +EI_EXPOSE_REP | +133 | +Medium |
program.main.Game.Fields() may expose internal representation by returning Game.fields | +MALICIOUS_CODE | +EI_EXPOSE_REP | +129 | +Medium |
program.main.Game.Nomads() may expose internal representation by returning Game.nomads | +MALICIOUS_CODE | +EI_EXPOSE_REP | +109 | +Medium |
program.main.Game.Pipes() may expose internal representation by returning Game.pipes | +MALICIOUS_CODE | +EI_EXPOSE_REP | +178 | +Medium |
program.main.Game.Plumbers() may expose internal representation by returning Game.plumbers | +MALICIOUS_CODE | +EI_EXPOSE_REP | +119 | +Medium |
program.main.Game.getGameWindow() may expose internal representation by returning Game.gameWindow | +MALICIOUS_CODE | +EI_EXPOSE_REP | +242 | +Medium |
Primitive field program.main.Game.gamePanel is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility. | +BAD_PRACTICE | +PA_PUBLIC_PRIMITIVE_ATTRIBUTE | +140 | +Medium |
Primitive field program.main.Game.nomadButtonPanel is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility. | +BAD_PRACTICE | +PA_PUBLIC_PRIMITIVE_ATTRIBUTE | +182 | +Medium |
Primitive field program.main.Game.plumberButtonPanel is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility. | +BAD_PRACTICE | +PA_PUBLIC_PRIMITIVE_ATTRIBUTE | +149 | +Medium |
Unread field: program.main.Game.FPS_SET; should this field be static? | +PERFORMANCE | +SS_SHOULD_BE_STATIC | +35 | +Medium |
Unread field: program.main.Game.UPS_SET; should this field be static? | +PERFORMANCE | +SS_SHOULD_BE_STATIC | +36 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Write to static field program.main.GamePanel.game from instance method new program.main.GamePanel(Game) | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +25 | +High |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
program.main.GameWindow.getNomadButtonPanel() may expose internal representation by returning GameWindow.nomadButtonPanel | +MALICIOUS_CODE | +EI_EXPOSE_REP | +15 | +Medium |
program.main.GameWindow.getPlumberButtonPanel() may expose internal representation by returning GameWindow.plumberButtonPanel | +MALICIOUS_CODE | +EI_EXPOSE_REP | +19 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
new program.main.ImagePanel(BufferedImage) may expose internal representation by storing an externally mutable object into ImagePanel.image | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +18 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Unread field: program.main.InGame.gameOver | +PERFORMANCE | +URF_UNREAD_FIELD | +13 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Dead store to $L3 in program.main.NomadButtonPanel.actionPerformed(ActionEvent) | +STYLE | +DLS_DEAD_LOCAL_STORE | +91 | +High |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Dead store to ppi in program.main.NomadMoveWindow.actionPerformed(ActionEvent) | +STYLE | +DLS_DEAD_LOCAL_STORE | +69 | +High |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Write to static field program.main.NomadPipeInteraction.endturn from instance method program.main.NomadPipeInteraction.actionPerformed(ActionEvent) | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +65 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Random object created and used only once in program.main.Pipe.canPlayerStep() | +BAD_PRACTICE | +DMI_RANDOM_USED_ONLY_ONCE | +488 | +High |
Random object created and used only once in program.main.Pipe.repair() | +BAD_PRACTICE | +DMI_RANDOM_USED_ONLY_ONCE | +518 | +High |
new program.main.Pipe(Pump, Plumber, String) may expose internal representation by storing an externally mutable object into Pipe.inPocketOf | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +67 | +Medium |
program.main.Pipe.pickedUp(Plumber) may expose internal representation by storing an externally mutable object into Pipe.inPocketOf | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +202 | +Medium |
The method name program.main.Pipe.GetSlippery() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +431 | +Medium |
The method name program.main.Pipe.GetSticky() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +465 | +Medium |
The method name program.main.Pipe.SetTurnNotToSlippery(int) doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +421 | +Medium |
The method name program.main.Pipe.SpareWater() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +387 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
program.main.Player.getPicture() may expose internal representation by returning Player.file_pic | +MALICIOUS_CODE | +EI_EXPOSE_REP | +383 | +Medium |
program.main.Player.getPosition() may expose internal representation by returning Player.currentPosition | +MALICIOUS_CODE | +EI_EXPOSE_REP | +175 | +Medium |
program.main.Player.getPreviousPosition() may expose internal representation by returning Player.previousPosition | +MALICIOUS_CODE | +EI_EXPOSE_REP | +370 | +Medium |
new program.main.Player(String, int, Pump, String) may expose internal representation by storing an externally mutable object into Player.currentPosition | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +35 | +Medium |
new program.main.Player(String, int, Pump, String) may expose internal representation by storing an externally mutable object into Player.previousPosition | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +31 | +Medium |
program.main.Player.setPosition(Pump) may expose internal representation by storing an externally mutable object into Player.currentPosition | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +184 | +Medium |
Check for oddness that won't work for negative numbers in program.main.Player.render(Graphics) | +STYLE | +IM_BAD_CHECK_FOR_ODD | +57 | +Medium |
program.main.Player.game should be package protected | +MALICIOUS_CODE | +MS_PKGPROTECT | ++ | Medium |
The method name program.main.Player.GetName() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +73 | +Medium |
The method name program.main.Player.SetName(String) doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +83 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
program.main.Plumber.getPipeInPocket() may expose internal representation by returning Plumber.pipeInPocket | +MALICIOUS_CODE | +EI_EXPOSE_REP | +202 | +Medium |
program.main.Plumber.getPumpInPocket() may expose internal representation by returning Plumber.pumpInPocket | +MALICIOUS_CODE | +EI_EXPOSE_REP | +192 | +Medium |
program.main.Plumber.setPipeInPocket(Pipe) may expose internal representation by storing an externally mutable object into Plumber.pipeInPocket | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +159 | +Medium |
program.main.Plumber.setPumpInPocket(Pump) may expose internal representation by storing an externally mutable object into Plumber.pumpInPocket | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +169 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Dead store to $L3 in program.main.PlumberButtonPanel.actionPerformed(ActionEvent) | +STYLE | +DLS_DEAD_LOCAL_STORE | +133 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Dead store to ppi in program.main.PlumberMoveWindow.actionPerformed(ActionEvent) | +STYLE | +DLS_DEAD_LOCAL_STORE | +68 | +High |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Write to static field program.main.PlumberPipeInteraction.endturn from instance method program.main.PlumberPipeInteraction.actionPerformed(ActionEvent) | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +73 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Random object created and used only once in program.main.Pump.destroy() | +BAD_PRACTICE | +DMI_RANDOM_USED_ONLY_ONCE | +124 | +High |
program.main.Pump.getConnectedPipes() may expose internal representation by returning Pump.connectedPipes | +MALICIOUS_CODE | +EI_EXPOSE_REP | +429 | +Medium |
program.main.Pump.getPipeIn() may expose internal representation by returning Pump.in | +MALICIOUS_CODE | +EI_EXPOSE_REP | +224 | +Medium |
program.main.Pump.getPipeOut() may expose internal representation by returning Pump.out | +MALICIOUS_CODE | +EI_EXPOSE_REP | +233 | +Medium |
program.main.Pump.listNeighbours() may expose internal representation by returning Pump.neighbours | +MALICIOUS_CODE | +EI_EXPOSE_REP | +166 | +Medium |
program.main.Pump.changePipeIn(Pipe) may expose internal representation by storing an externally mutable object into Pump.in | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +307 | +Medium |
program.main.Pump.changePipeOut(Pipe) may expose internal representation by storing an externally mutable object into Pump.out | +MALICIOUS_CODE | +EI_EXPOSE_REP2 | +323 | +Medium |
The method name program.main.Pump.SpareWater() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +378 | +Medium |
Class program.main.Pump defines non-transient non-serializable instance field file_pic | +BAD_PRACTICE | +SE_BAD_FIELD | ++ | High |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
The method name program.main.Spring.SpareWater() doesn't start with a lower case letter | +BAD_PRACTICE | +NM_METHOD_NAMING_CONVENTION | +79 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Write to static field program.main.restart_menu.quit_boolean from instance method new program.main.restart_menu() | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +57 | +Medium |
Write to static field program.main.restart_menu.restart_boolean from instance method new program.main.restart_menu() | +STYLE | +ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | +58 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
The class name program.main.settings doesn't start with an upper case letter | +BAD_PRACTICE | +NM_CLASS_NAMING_CONVENTION | +18 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
program.main.settings$1.actionPerformed(ActionEvent) might ignore java.lang.Exception | +BAD_PRACTICE | +DE_MIGHT_IGNORE | +111 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
program.main.settings$2.actionPerformed(ActionEvent) might ignore java.lang.Exception | +BAD_PRACTICE | +DE_MIGHT_IGNORE | +186 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Found reliance on default encoding in program.main.startMenu.StoryBoard(): new java.util.Scanner(File) | +I18N | +DM_DEFAULT_ENCODING | +160 | +High |
The class name program.main.startMenu doesn't start with an upper case letter | +BAD_PRACTICE | +NM_CLASS_NAMING_CONVENTION | +14 | +Medium |
Bug | +Category | +Details | +Line | +Priority |
---|---|---|---|---|
Dead store to settingswindow in program.main.startMenu$3.actionPerformed(ActionEvent) | +STYLE | +DLS_DEAD_LOCAL_STORE | +195 | +High |
Field | +Value |
---|---|
Name | +gs-maven |
Description | +- |
Homepage | +- |
This project does not belong to an organization.
Field | +Value |
---|---|
GroupId | +org.springframework |
ArtifactId | +gs-maven |
Version | +0.1.0 |
Type | +jar |
Java Version | +1.8 |