aboutsummaryrefslogtreecommitdiff
path: root/src/xdocs/report_issue.xml
blob: 10c2474c6651610bfd6861dffb05c801a126ca0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0" encoding="UTF-8"?>

<document xmlns="http://maven.apache.org/XDOC/2.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">

  <head>
    <title>How to report an issue ?</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"/>
    <script type="text/javascript" src="js/anchors.js"/>
    <script type="text/javascript" src="js/google-analytics.js"/>
    <link rel="icon" href="images/favicon.png" type="image/x-icon" />
    <link rel="shortcut icon" href="images/favicon.ico" type="image/ico" />
  </head>

  <body>
    <section name="Content">
      <macro name="toc">
        <param name="fromDepth" value="1"/>
        <param name="toDepth" value="1"/>
      </macro>
    </section>

    <section name="Introduction">

      <p>
        Hey, good to see you on this page. It means that you are considering reporting an issue to the Checkstyle
        project. We welcome anything: bug reports, feature requests to existing functionality, new Check ideas, etc.
      </p>

      <p>
        Our issue tracker system is at Github - <a href="https://github.com/checkstyle/checkstyle/issues">
        https://github.com/checkstyle/checkstyle/issues</a>.
      </p>
    </section>

    <section name="How to report a bug?">

      <p>
        First and foremost, do not think that your issue is obvious and do not need details.<br/>
        Even tiny issue need all details and context to be shared with us.
      </p>

      <p>
        The best way to report an Issue is to reproduce it by our <a href="cmdline.html#Download_and_Run">
        Command Line Interface (CLI)</a>. It is the most minimalistic way to launch Checkstyle.<br/>
        PLEASE use our latest released version.
      </p>

      <p>
        Our project is NOT responsible for problems at any extension or plugins.<br/>
        Checkstyle is library that is used by number of IDEs and static analysis services.<br/>
        We fix problems that are only reproducible on latest release.
      </p>

      <p>
        We need minimized but compilable Java file and minimized config with one Check that cause problem.<br/>
        We do not need real source code. Any obfuscation of your super secret code is OK.<br/>
        Link to your source code would be awesome.
      </p>

      <p>
        Example of report that we expect:

        <source><![CDATA[
/var/tmp $ java -jar checkstyle-6.XX-all.jar -c config.xml test.java
Starting audit...
Audit done.

/var/tmp $ cat test.java
public class CheckstyleTest{ // Doesn't warn - incorrect
private static final int SOMETHING = 1;
}

/var/tmp $ cat config.xml
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
        "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
        "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
    <module name="TreeWalker">
        <module name="WhitespaceAround">
            <property name="allowEmptyTypes" value="true"/>
        </module>
    </module>
</module>
        ]]></source>
      </p>

      <p>
        Always specify what is expected.<br/>

        <code>
          Expected: violation on first line.
          /var/tmp/test.java:1:28: error: '{' is not preceded with whitespace.
        </code>
      </p>

    </section>

    <section name="How to request new feature for existing functionality?">

      <p>
        Please always specify exact name of the Check/Module.
      </p>

      <p>
        Please provide detailed description of problem and chunks of code and config that you currently have.
      </p>

      <p>
        Imagine that everithing is possible and propose name of the new option and its behaviour. Do not think that your issue is so obvious.
      </p>
    </section>

    <section name="How to request new Check/Module?">
      <p>
        Please provide detailed description of problem.
      </p>
      <p>
        You have to provide examples of code and expected violations on them. The more examples the better.
      </p>
      <p>
        If you have open source project, please send a link to the whole java file.
      </p>
    </section>

  </body>
</document>