745 Commits

Author SHA1 Message Date
Clément Fournier
d12e70aab5 Truly disable multifile 2017-09-22 01:04:48 +02:00
Andreas Dangel
9e55969eb1 Merge branch 'pr-601' 2017-09-16 16:18:17 +02:00
Andreas Dangel
4272674488 Merge branch 'pr-593' 2017-09-15 11:07:56 +02:00
Andreas Dangel
7ec56e37b0 Merge branch 'pr-592' 2017-09-15 10:59:14 +02:00
Juan Martín Sotuyo Dodero
02fc43737a Remove commented default access modifier 2017-09-14 11:47:52 -03:00
Clément Fournier
0349ad74c1 Forgot stuff in n.s.pmd 2017-09-14 15:28:40 +02:00
Clément Fournier
f02026995d Merge upstream 2017-09-14 14:37:00 +02:00
Clément Fournier
6a162c238c Moved properties to n.s.pmd.properties 2017-09-14 00:05:55 +02:00
Juan Martín Sotuyo Dodero
14cb503713 [core] Revamp charset / stream management
- File encoding is converted to Charset only once. Errors in it's setup
wil fail the run immeditable instead of producing one error per file.
 - We make sure to close the source stream from the same place we create
it, by using try-with-resources
 - When wrapping the stream to a reader, we use try-with-resources
again, just in case
 - The bechmark code now takes into account charset setup, and more
closely resembles the normal execution path
 - This fixes #618
2017-09-13 18:22:38 -03:00
Juan Martín Sotuyo Dodero
09d49c6e68 Merge branch 'pr-587' 2017-09-12 18:01:10 -03:00
Juan Martín Sotuyo Dodero
be27dea8de Checkstyle fixes 2017-09-12 17:23:12 -03:00
Juan Martín Sotuyo Dodero
e734c9cce9 Add failing test scenario for repeated config error 2017-09-12 17:11:38 -03:00
Juan Martín Sotuyo Dodero
62fd6b3be4 [core] dysfunctional rules are removed only once
Under multi-thread runs, each thread parsed it's own copy of the
ruleset, and removed dysfunctional rules. This meant 1 `ConfigError` per
thread was being generated.
  Since #519, we now log `ConfigErrors`, meaning multiple identical
logs in reports and noise for the user.
  Therefore, we change our approach. RuleSets are parsed only once.
Dysfunctional rules are filtered and reported early on, before
dispathing actual file analysis. Each analysis thread can then produce
their own copy of the ruleset by taking advantage of the `deepCopy`
support for rules, ruleset and rulesets introduced in #464.
  The result is not only more concise reports, but the analysis thread
actually perform less work. Rulesets XMLs are parsed exactly once,
instead of 1 + 1 per thread as before, and rule configuration is
validated only once.

  During this process an issue with how property descriptors where
copied has arised and was fixed. A new unit test to validate this
scenario has been introduced.
2017-09-12 17:11:25 -03:00
Clément Fournier
732af08f16 Corrections for PR #587 2017-09-10 21:30:45 +02:00
Juan Martín Sotuyo Dodero
ad1013c2ba Fix typo 2017-09-10 05:36:58 -03:00
Juan Martín Sotuyo Dodero
49d314fc5b [core] Incremental Analysis can detect changes to jars
- We now look inside the jars of the classpath in search for any
changes. If we find any, we invalidate the cache.
 - Resolves #604
2017-09-10 05:35:09 -03:00
Juan Martín Sotuyo Dodero
9418ab1822 [core] Improve incremental analysis logging
- Resolves #608
 - Log succesful cache loading
 - Log hits / misses on debug, reason for miss too
 - Invite users to enable incremental analysis
 - Provide a new section on the web for the feature. May be promoted to
a top level page at some point.
2017-09-09 21:57:28 -03:00
Juan Martín Sotuyo Dodero
116c428708 [core] Restrict root element of ruleset xml
- Unfortunately DTD doesn't allow to do this... we should probably
cease to support DTD altogether...
2017-09-09 19:45:12 -03:00
Juan Martín Sotuyo Dodero
2bb4d3fbfe Restrict root element to pmd 2017-09-09 19:27:23 -03:00
Andreas Dangel
a50d5a82cc Add new rule to internal ruleset 600.xml 2017-09-09 09:56:27 +02:00
Juan Martín Sotuyo Dodero
96d2983f4f [core] Fix NPE on cache
- Resolves #600
2017-09-07 12:05:58 -03:00
Clément Fournier
7464705cf7 Merge branch 'master' of https://github.com/pmd/pmd into multifile-split 2017-09-06 23:25:51 +02:00
Clément Fournier
1e9724a8b8 Small improvements 2017-09-06 00:15:24 +02:00
Andreas Dangel
fa86d073af Merge branch 'pr-585' 2017-09-05 18:03:47 +02:00
Andreas Dangel
a41df604e5 Update release notes, refs #585 2017-09-05 18:03:15 +02:00
Juan Martín Sotuyo Dodero
079fc1cc68 [core] Provide and XML Schema for XML reports
- Fixes #538
2017-09-04 02:01:50 -03:00
Juan Martín Sotuyo Dodero
e295711343 Harden XML parsing
- Fixes #532
2017-09-03 21:12:15 -03:00
Juan Martín Sotuyo Dodero
cdc5cde3a0 Merge branch 'pr-533' 2017-09-03 19:56:14 -03:00
Juan Martín Sotuyo Dodero
e18fb2398b Include stacktrace for ProcessingError on reports 2017-09-03 19:55:02 -03:00
Juan Martín Sotuyo Dodero
69b44c4cb4 Fix compilation warning 2017-09-03 18:47:04 -03:00
Clément Fournier
808ef0cc89 Added text area handle 2017-08-30 15:15:12 +02:00
Clément Fournier
e7c1a520d6 Moved to pmd-ui 2017-08-30 15:15:12 +02:00
oowekyala
14d0d14a18 Draft w/ mvn system dependency 2017-08-30 15:15:12 +02:00
Andreas Dangel
d301e99737 Merge branch 'pr-583' 2017-08-29 19:55:11 +02:00
Clément Fournier
5b519459b9 Move static constants of ValueParser to class ValueParsers 2017-08-29 19:53:44 +02:00
Andreas Dangel
6fccc0c2eb Merge branch 'pr-518' 2017-08-28 20:31:08 +02:00
Clément Fournier
ac7e1e970f WeakHashMap for project memoizers 2017-08-27 23:42:13 +02:00
Clément Fournier
584041e1e7 Removed the metrics visitor 2017-08-27 23:32:17 +02:00
oowekyala
76b9b39368 Separated multifile analysis from metrics 2017-08-27 23:32:09 +02:00
Clément Fournier
c1459ab4f9 Added version info to the API 2017-08-26 21:58:52 +02:00
Andreas Dangel
23a936e654 Merge branch 'pr-580' 2017-08-26 11:06:33 +02:00
Andreas Dangel
d31d0dd7cd Merge branch 'pr-578' 2017-08-26 10:57:34 +02:00
Clément Fournier
f5530660af Corrections for PR #578 2017-08-24 23:57:16 +02:00
Andreas Dangel
d3757e7611 Merge branch 'pr-464' 2017-08-24 23:01:21 +02:00
Clément Fournier
9d5b2a5e7c Add AbstractMetric to topple the class hierarchy of metrics 2017-08-24 22:28:43 +02:00
Clément Fournier
925be17be3 Merge upstream 2017-08-24 09:09:21 +02:00
Andreas Dangel
1008f7ef70 Merge branch 'pr-573' 2017-08-23 20:40:08 +02:00
Andreas Dangel
b1b2683e92 [core] Use new schema version 3.0.0 2017-08-22 20:59:42 -03:00
Clément Fournier
57439e9dc9 Remove findChildNodesWithXPathChecked from Node interface 2017-08-22 22:23:22 +02:00
Clément Fournier
5001701989 Use ATFD metric in GodClassRule -> done refactoring 2017-08-22 17:14:27 +02:00