Commit Graph

260 Commits (b53f108d078bd2366743dbb28253a47357827ab3)

Author SHA1 Message Date
Spring Buildmaster 30eb937a83 Next Development Version 7 years ago
Andy Wilkinson 8761ef547c Log single message per jar with faulty Class-Path manifest attribute
Previously, when DevTools encountered a jar with a Class-Path manifest
attribute that referenced non-existent files, it would log one
message per entry in the attribute that did not exist. While useful
information, this has proven to be too verbose.

This commit aims to strike a better balances by logging a single
message for an entire jar. The message is a single line that
includes the path to the jar with the faulty Class-Path manifest
attribute and the paths of all of the files that do not exist that are
referenced by the attribute.

Closes gh-10111
7 years ago
Spring Buildmaster 17a5bb0be4 Next development version 7 years ago
Spring Buildmaster 41c5c0e7c9 Next development version 7 years ago
Andy Wilkinson f3b26525f7 Use System.out rather than err for ignored Class-Path entry message
Closes gh-9802
7 years ago
Phillip Webb aa57ca7e18 Polish 7 years ago
Misagh Moayyed 07d09f3f18 Add missing whitespace in log
Closes gh-9597
8 years ago
Andy Wilkinson 59122358d3 Clean up and format code 8 years ago
Spring Buildmaster 05d4d0281c Next Development Version 8 years ago
Stephane Nicoll cbdab9edb3 Add support for custom ProtocolResolver with Devtools
Prior to this commit, custom `ProtocolResolvers` set on the
`ApplicationContext` were lost when Devtools is used as the customized
`ResourceLoader` did not copy any customization made to the default
resource loader.

This commit makes sure to copy any `ProtocolResolver` set on the context.

Closes gh-9331
8 years ago
Phillip Webb b9fd99e268 Polish 8 years ago
Oleg Vyukov ff3b6b09bd Fix OptionalLiveReloadServer create bean
Closes gh-8595
8 years ago
Spring Buildmaster 9768b0a8c2 Next Development Version 8 years ago
Stephane Nicoll 934d33685a Polish
See gh-8879
8 years ago
Stephane Nicoll 16afb8a973 Polish "Add support for HotSwapAgent to devtools"
Closes gh-8683
8 years ago
Bretislav Wajtr b368693d80 Add support for HotSwapAgent to devtools
HotSwapAgent is an open source competition to JRebel. This commit adds
"org.hotswap.agent.HotswapAgent" to the list of known Java agent based
class reloaders. This causes same behavior as when JRebel is used: a full
restart is NOT triggered when any class changes, however LiveReload event
is still triggered.

See gh-8683
8 years ago
Andy Wilkinson ac3071670f Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 492aee9cea Remove unused optional dependency
It should have been removed in 2522a5f9ef
8 years ago
Andy Wilkinson ceb80614e5 Polishing 8 years ago
Andy Wilkinson bccbbc145e Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 60505a4fae Don't shut down "in-memory" DB running as a server on DevTools restart
Closes gh-8702
8 years ago
Andy Wilkinson 155d55097f Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 47de05b52c Update Devtools to ignore manifest Class-Path entries that do not exist
Closes gh-8623
8 years ago
Spring Buildmaster d23fa24340 Next Development Version 8 years ago
Spring Buildmaster 2a83e80a9b Next Development Version 8 years ago
Andy Wilkinson 627edc0f7a Use a different approach to disable HATEOAS Objenesis instance's cache
Previously, reflection was used to set the OBJENESIS field of
DummyInvocationUtils with an Objenesis instance that does not use
caching. This has stopped working as the field is now declared final.

This commit updates the approach take by HateoasObjenesisCacheDisabler
to disable Objenesis's cache. Rather than changing the value of the
OBJENESIS field on DummyInvocationUtils, the cache field on the
ObjenesisStd instance is set to null instead. This has the desired
effect of disabling Objenesis's caching.

See gh-3784
Closes gh-8335
8 years ago
Phillip Webb ca1540cefe Update header copyright for changed files 8 years ago
Johnny Lim 0adab8a2be Use logical 'and' instead of bitwise 'and'
Closes gh-8198
8 years ago
Spring Buildmaster 5c12500366 Next Development Version 8 years ago
Spring Buildmaster a2696bf873 Next Development Version 8 years ago
Spring Buildmaster ed1ce140c0 Next Development Version 8 years ago
Stephane Nicoll 505e7f75ea Polish contribution
Closes gh-8089
8 years ago
dreis d58f38f6f6 Use String.replace() with single char if possible
See gh-8089
8 years ago
Madhura Bhave ca435512c0 Introduce spring-boot-autoconfigure-processor
Add an annotation processor that generates properties files for certain
auto-configuration class annotations. Currently attribute values from
@AutoConfigureOrder, @AutoConfigureBefore, @AutoConfigureAfter and
@ConditionalOnClass annotations are stored.

The properties file will allow optimizations to be added in the
`spring-boot-autoconfigure` project. Primarily by removing the need
to ASM parse as many `.class` files.

See gh-7573
8 years ago
Phillip Webb 2c89d9918f Relocate AutoConfigurations from root package
Move PropertyPlaceholder and MessageSource auto-configuration from the
root package to the `context` subpackage.

Fixes gh-8071
8 years ago
Andy Wilkinson 531cf5d4f6 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 6a0fb8e44c Update DevTools' ResourceLoader to delegate to user's custom loader
Previously, when DevTools' was used it would set the application
context's ResourceLoader and overwrite any custom ResourceLoader that
had been configured. On the rare occasion when the user had customized
the ResourceLoader this meant that the customization was lost and
certain resources would become unavailable.

This commit updates DevTools' ResourceLoader to delegate a custom
ResourceLoader if one has been configured. If one has not been
configured it delegates as before, i.e. to
WebApplicationContextResourceLoader for web applications and to
DefaultResourceLoader for all others apps.

Closes gh-8010
8 years ago
Andy Wilkinson 6cab03de0b Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 69320180d9 Make FileSystemWatcherTests.waitsForPollingInterval more robust
The intent of the test is to:

1. Make a change
2. Sleep for long enough for that change to be picked up
3. Make another change
4. Stop that watcher after 1 further scan has been performed
5. Assert that a further scan was performed by checking that two
   separate sets of changes (step 1 and step 3) have been picked up

Previously, step 2 relied on simply sleeping for a period of time
longer than the polling interval. In reality, the polling interval
is only a minimum time between scans and the actual time between them
depends on thread scheduling, GC pauses, etc. This lead to the
test failing intermittently if the scan didn't happen in a timely
manner.

This commit removes the sleep and replaces it with a while loop that
waits for first change to be picked up. This ensures that the second
change will be detected separately from the first and that two
separate change sets should always be available once the watcher has
stopped.

See gh-7782
8 years ago
Johnny Lim f915ae197a Polish 8 years ago
Phillip Webb b76978ff7e Try to prevent Travis build failures
Update LiveReloadServerTests which seems to be failing intermittently
on Travis.
8 years ago
Phillip Webb aacf5d660f Update copyright year for changed files 8 years ago
Phillip Webb 8b69856fc9 Polish 8 years ago
Phillip Webb 97d7ffd8e8 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 61c931943f Fix Devtools PatternResolver Servlet support
Update ClassLoaderFilesResourcePatternResolver to support servlet
resources when it's being used with a WebApplicationContext.

Prior to commit 918e122ddc a `ResourceLoader` was not added to the
`ApplicationContext`, meaning that servlet resources could be found by
virtue of the protected `getResourceByPath()` method. Following commit
918e122ddc, the context `ResourceLoader` is set, meaning that all calls
to `getResource` delegate to the `ResourceLoader` and the
`ApplicationContext` methods are not invoked. Since the devtools
`ResourceLoader` wasn't Servlet aware, servlet resources could not
be found.

Fixes gh-7752
8 years ago
Phillip Webb d05357e036 Migrate to Tomcat WebSocket client
Move samples and tests from Jetty websocket client to Tomcat since the
upcoming Jetty release contains a bug in `JsrSession`
(https://github.com/eclipse/jetty.project/issues/1202).

See gh-7599
8 years ago
Phillip Webb 5299db3806 Fix deadlock when calling LiveReloadServer.stop()
Update LiveReloadServer so that different synchronization blocks are
used for the sockets and connection lists. Prior to this commit calling
`LiveReloadServer.stop()` would always result in a 60 second delay since
`stop()` owned the monitor add `removeConnection()` (called from a
different thread) needs it to remove the active connection.

Fixes gh-7749
8 years ago
Spring Buildmaster 9057f9ae1f Next development version 8 years ago
Hrishikesh Joshi c2992e3736 Add more debug logging to DevTools
Add debug logging for the included and excluded URL patterns and
matching URLs.

Fixes gh-7478
Closes gh-7544
8 years ago
Phillip Webb 4b9cba351b Merge branch '1.4.x' into 1.5.x 8 years ago