Commit Graph

25 Commits

Author SHA1 Message Date
Phillip Webb
e75d8eaf40 Switch to spring-javaformat plugin
Use `spring-javaformat` to format and check code. Code formatting can
now be applied using the `spring-javaformat-maven-plugin` from the
command line. Existing checkstyle rules have also been replaced and
the CONTRIBUTING.adoc file has been updated.

Closes gh-13255
2018-05-25 20:59:04 -07:00
Phillip Webb
e69296d7d3 Fix checkstyle violations in samples 2018-05-25 18:18:00 -07:00
Stephane Nicoll
d49b022ce3 Shade json in configuration processor
This commit shades the json API in the configuration processor so that
it doesn't bring `android-json` to the classpath anymore.

Closes gh-10307
2018-01-04 10:10:56 +01:00
Stephane Nicoll
07bb33d8ed Prevent the accidental use of Flyway's StringUtils
See gh-11396
2017-12-24 12:16:14 +01:00
Andy Wilkinson
654fe9a31c Use Checkstyle to police accidental use of unwanted imports
Closes gh-11271
2017-12-06 13:56:17 +00:00
Andy Wilkinson
d2201d5284 Correct copyright dates and enforce that starting year is 2012
Closes gh-7923
2017-01-13 18:43:30 -05:00
Andy Wilkinson
918e122ddc Fix remote DevTools' support for adding and removing classes
Previously, remote DevTools only correctly supported modifying
existing classes. New classes that were added would be missed, and
deleted classes could cause a failure as they would be found by
component scanning but hidden by RestartClassLoader.

This commit introduces a DevTools-specific ResourcePatternResolver
that is installed as the application context's resource loader. This
custom resolver is aware of the files that have been added and
deleted and modifies the result returned from getResource and
getResources accordingly.

New intergration tests have been introduced to verify DevTools'
behaviour. The tests cover four scenarios:

- Adding a new controller
- Removing an existing controller
- Adding a request mapping to a controller
- Removing a request mapping from a controller

These four scenarios are tested with:

- DevTools updating a local application
- DevTools updating a remote application packaged in a jar file
- DevTools updating a remote application that's been exploded

Closes gh-7379
2016-11-17 19:19:54 +00:00
Stephane Nicoll
00a10bcf61 Restore checkstyle
Rather than disabling checkstyle altogether, this commit enables it
again, relaxing the javadoc requirement only.

See gh-7142
2016-10-12 10:37:15 +02:00
Phillip Webb
56544c8dd5 Polish 2016-09-09 10:27:44 -07:00
Johnny Lim
37c8c3669b Polish
Closes gh-6671
2016-08-17 10:49:04 +02:00
Johnny Lim
65128c0ad1 Remove severity elements from checkstyle.xml
Remove `error` severity elements from `checkstyle.xml` and rely on the
default setting instead.

Closes gh-6442
2016-07-25 10:30:58 -07:00
Phillip Webb
57bed2e5f6 Use fully qualified checkstyle class names
Update `checkstyle.xml` to use fully qualified class names. This reduces
the number of warning log messages when running `mvn -X` and should also
be slightly faster.
2016-06-09 21:03:28 -07:00
Phillip Webb
e664d585d9 Allow MockRest static imports
Update checkstyle rules to allow static imports from
MockRestRequestMatchers and MockRestResponseCreators.
2016-05-31 09:48:44 -07:00
Andy Wilkinson
de0bcaa50e Update WebMvcTest to auto-configure supported template engines
Closes gh-5801
2016-05-10 10:41:38 +01:00
Andy Wilkinson
eb3180d581 Provide test auto-configuration for Spring REST Docs
This commit introduces a new annotation, @AutoConfigureRestDocs,
which can be used to enable auto-configuration of Spring REST Docs.
The auto-configuration removes the need to use Spring REST Docs' JUnit
rule and will automatically configure MockMvc. Combined with the new
auto-configuration for MockMvc it allows a test class to be free of
boilerplate configuration:

@RunWith(SpringRunner.class)
@WebMvcTest
@AutoConfigureRestDocs(outputDir = "target/generated-snippets",
        uriScheme = "https", uriHost = "api.example.com",
        uriPort = 443)
public class ExampleDocumentationTests {

    @Autowired
    private MockMvc mvc;

    @Test
    public void documentIndex() {
        // …
    }

}

For more advanced customization a RestDocsMockMvcConfigurationCustomizer
bean can be used.

If a RestDocumentationResultHandler is found in the context, it will
be passed to the ConfigurableMockMvcBuilder's alwaysDo method as part
of its customization.

Closes gh-5563
2016-04-04 17:19:51 +01:00
Andy Wilkinson
33f0ea3480 Rework SpringApplicationTest to support web modes
Rework the new testing support so that @SpringApplicationTest can be
used for standard integration tests, web integration tests with a
mock Servlet environment and web integration tests with an embedded
servlet container. This means that it a replacement for 1.3's
@IntegrationTest and @WebIntegrationTest and allows all
SpringApplication testing to be configured using a common annotation.

The old @IntegrationTest and @WebIntegrationTest along with their
supporting classes have been reinstated to their previous form (while
remaining deprecated). This should ensure that they continue to work
in 1.4 exactly as they did in 1.3 giving users a smooth path to
@SpringApplicationTest.

See gh-5477
2016-03-31 21:35:10 -07:00
Phillip Webb
893a6c32f3 Upgrade to checkstyle 6.17
Fixes gh-5547
2016-03-31 13:14:53 -07:00
Phillip Webb
cc5d4b8b7f Add AssertJ checkstyle rule
Closes gh-5083
2016-02-06 15:51:27 -08:00
Andy Wilkinson
d1b47c8a8f Add integration tests for default launch script
This commit adds a suit of integration tests for the launch script. See
the accompanying README.adoc for further details.

Closes gh-4872
2016-01-13 13:28:14 +00:00
Ruben Dijkstra
02830989be Configure Checkstyle line separator so it does not use system default
In its default configuration, Checkstyle would fail on Windows as it
would expect CRLF, the system default line separator.

Closes gh-4666
2015-12-03 09:41:36 +00:00
Phillip Webb
cf68f83ef6 Update checkstyle import order rules
See gh-4234
2015-10-19 13:03:02 -07:00
Phillip Webb
822820f256 Revert "Relax ParenPad checkstyle rule"
The updated formatter means that we can reinstate the rule.

This reverts commit 82fffe3062.
2015-10-09 13:54:33 -07:00
Phillip Webb
2a16c25977 Replace import-control checkstyle file with regex
Fix Eclipse build warnings by replacing checkstyle's import-control file
with a simple regex rule.

Fixes gh-4006
2015-10-07 23:40:14 -07:00
Phillip Webb
82fffe3062 Relax ParenPad checkstyle rule
Eclipse Mars has a formatter bug (#479291) that sometimes adds
additional whitespace on annotations. Until it's fixed we need to relax
the `ParenPad` checkstyle rule.
2015-10-07 23:37:47 -07:00
Stephane Nicoll
e70f02c4a2 Relocate checkstyle configuration
See gh-3928
2015-09-10 09:40:26 +02:00