104 Commits

Author SHA1 Message Date
Stuart Douglas
b5cbc2b0c6 Shutdown all resources on close 2020-02-11 13:44:42 +11:00
Rostislav Svoboda
45d4475072 Make inner classes static to avoid parent class linkage overhead 2020-02-07 12:25:18 +01:00
Gwenneg Lepage
a58baacd13 Replace hardcoded ASM version 2020-02-03 11:44:53 +01:00
testfixer
401bea46a6 Make tests more stable by using LinkedHashSet for deterministic iterations 2020-01-29 11:27:23 -06:00
Stuart Douglas
b289d2655e Handle multiple output directories in Kotlin projects
Fixes #6561
2020-01-28 16:45:31 +11:00
George Gastaldi
0396f603e3 Safe check to not walk on non-existent paths 2020-01-27 14:55:26 +11:00
Stuart Douglas
b67491c1ff The big ClassLoader change
This changes the way Quarkus ClassLoading works,
to allow for isolated class loaders.

It also unifies how Quarkus is launched, so every
different mode we support uses the same mechanism
for both curation and launch.

Tests are now run in an isolated ClassLoader, which
means that a proxy is created that runs the tests
from within the isolated ClassLoader. This currently
has a quirk where @BeforeAll methods are run twice,
which will be fixed in the next JUnit release. This
can be worked around by using @QuarkusBeforeAll.
2020-01-22 13:30:44 +01:00
Stuart Douglas
58ee4e6a9b Don't restart on web resource change
Web resources should be modifiable without causing a restart.

Fixes #6417
2020-01-21 15:54:46 +11:00
Jaikiran Pai
e9176e6f11 Prevent UnsupportedOperationException in addSourcePaths 2019-12-20 10:37:48 +05:30
Georgios Andrianakis
6d0a2359cc Properly pass Kotlin compiler plugin options to dev-mode
Fixes: #2811
2019-12-09 10:12:48 +02:00
Jaikiran Pai
0be50b2965 Use "file" scheme absolute URIs for "Class-Path" entries we create in the MANIFEST.MF of our -dev.jar
Discussion about the semantics of this Class-Path attributes can be found at https://mail.openjdk.java.net/pipermail/core-libs-dev/2019-November/063491.html
2019-11-27 20:18:43 +05:30
Georgios Andrianakis
71057a3b0f Revert "Allow multiple source directories for Gradle." 2019-11-24 13:12:01 +02:00
soberich
f61393d498 Quote on splitting for Windows. 2019-11-23 15:00:05 +01:00
David M. Lloyd
9dd3919464 Introduce new configuration framework and update SmallRye Config version
Fixes #4123, Fixes #4119, Fixes #4172, Fixes (part of) #2292
Fixes #734, Fixes #4512, Fixes #3498, Fixes #3937
Fixes #2816, Fixes #4077, Fixes #3516, Fixes #2760
Fixes #1989, Fixes #3030, Fixes #3637, Fixes #1887
Groundwork for #2489, Fixes #5116, Fixes #5192, Fixes #3888
Fixes #3089, Fixes #390, Fixes #891, Fixes #5484
Fixes #5454
2019-11-22 12:48:03 -06:00
Manyanda Chitimbo
c913ff5e1a refactor: uses UncheckedIOException instead of RuntimeException 2019-11-08 23:57:34 +01:00
Manyanda Chitimbo
d81e508b6f fix: Dev mode - 404 Page - Live reloaded list of static files 2019-11-08 23:57:34 +01:00
Manyanda Chitimbo
0b3353780f fix: make sure that app resources are properly deleted before we make the first request
fixes #5163
2019-11-04 20:02:13 +01:00
Jan Martiska
5d426cb9fd [#5163] remove file from moduleResources after it is deleted 2019-11-04 20:02:13 +01:00
Jaikiran Pai
c8c71bf237 Include the original exception that caused Quarkus startup to fail 2019-10-31 09:10:07 +05:30
Stuart Douglas
fd5265169d Merge pull request #4955 from gastaldi/deprecated
Avoid using deprecated File.toURL
2019-10-29 15:04:48 +11:00
George Gastaldi
cf817985b9 Avoid using deprecated File.toURL 2019-10-28 21:30:24 -03:00
Stuart Douglas
30ec90bb11 After failed start make sure to read the HTTP config with the correct TCCL
Fixes #4815
2019-10-29 09:28:08 +11:00
Guillaume Smet
c894ad6f65 Merge pull request #4618 from aguibert/devmode-no-resources-folder
Avoid walking non-existant path when checking for file changes
2019-10-17 20:41:59 +02:00
Jaikiran Pai
bb4fc25c99 quarkus-3592 Use canonical path for checking -dev.jar location while constructing classpath 2019-10-17 21:36:41 +05:30
Nelson Graça
0f2f86a898 Fix an issue where in multi-module projects the files of a first module would be deleted when the second one was checked for file changes.
The correspondingResources Set became a Map to store the resources on a per-module basis instead of globally.

Signed-off-by: Nelson Graça <graca.nelson@gmail.com>
2019-10-17 10:46:31 +01:00
Andrew Guibert
30207095e8 Avoid walking non-existant path when checking for file changes 2019-10-16 23:16:16 -05:00
Jaikiran Pai
16950367cc issue#3592 Workaround an issue in JDK which causes hot deployment compilation to fail (on Windows) 2019-10-15 16:15:50 +02:00
Matthias Andreas Benkard
ee5f2734dd Maven plugin: Support <compilerArgs>, <source>, <target> in dev mode.
Adds support for the <compilerArgs>, <source>, and <target> settings
to the Maven plugin, which are then used to configure javac in
development mode.

This enables users to set lint flags and enable preview language
features, among other things.

Settings are taken from the Maven Compiler Plugin by default.

Also adds documentation on how to configure development mode.
2019-10-14 17:46:40 +02:00
Gwenneg Lepage
018423125c Remove redundant patterns compilations 2019-10-09 22:30:30 +02:00
Stuart Douglas
fa2c4304b1 Field should be volatile 2019-09-26 10:42:26 +02:00
Manyanda Chitimbo
453d3dda1f fix(dev-mode): live reload failing with Zip archives generated by code.quarkus.io due to time zone issue
this fixes the issue by implementing a solution proposed by this comment
https://github.com/quarkusio/quarkus/issues/4064#issuecomment-533133783 and just check if last
recorded time and current modification time are different.
2019-09-23 20:45:24 +02:00
Stuart Douglas
4729cd423c Fixes #4072
Make sure that all new resource files are copied onto the class path
2019-09-18 17:32:27 +10:00
David M. Lloyd
df51bee0c0 Fix remaining case for Windows path issues on dev mode reload 2019-09-09 10:58:59 -05:00
George Gastaldi
0d1c14ea8f Remove CopyUtils
This class can be safely replaced with Files.readAllBytes
2019-08-28 15:04:24 -03:00
Guillaume Smet
29b0095bd4 Merge pull request #3561 from soberich/master
Split source path to check if several paths supplied
2019-08-28 15:42:01 +02:00
Stuart Douglas
99f5b697bf Fixes #3409
The old config provider resolver was not being restored
on shutdown, which would cause problems on restarts.
2019-08-27 15:19:26 +10:00
soberich
d6a9b6ba7b Check if there are more than one path in module classpath supplied by Gradle. 2019-08-21 20:54:14 +02:00
Manyanda Chitimbo
1dfc5850b2 fix(dev-mode): Do not delete generated files
Fixes #3448 - generated files that are not within module source paths returned a null sourceFilePath. We should
not delete the corresponding generated .class file in this case.
2019-08-21 13:56:41 +02:00
Gwenneg Lepage
64a97e2b7a Use a dynamic sources encoding during a hot reload recompilation 2019-08-12 22:47:13 +02:00
Gwenneg Lepage
6c2790fc35 Read sources using the UTF_8 charset during hot reload compilation 2019-08-09 20:50:41 +02:00
Stuart Douglas
c2949cb2f4 Add QuarkusDevModeTest for testing hot reload
This allows extensions to write unit test cases for hot reload that
do not require a new maven project
2019-08-07 09:51:21 +10:00
Maciej Swiderski
dd40ec8e69 dev mode does not work with kogito quickstart - #3288 2019-07-23 19:21:59 +10:00
Rostislav Svoboda
002bb5917e Deprecated warnings removal 2019-07-16 08:45:13 +02:00
Manyanda Chitimbo
fd78effb03 feat(core-devmode): Support cleanup of deleted classes
Fixes #1963
2019-07-11 13:09:06 +02:00
David M. Lloyd
eacbe3da75 Add build system properties in dev mode 2019-07-08 10:02:41 -05:00
Martin Kouba
0ca8c43cc6 Dev mode - notify extensions about file changes without app restart
- resolves #2704
2019-07-07 10:57:46 +02:00
Guillaume Smet
c3d760d0f6 Move the initialization of the delayed logger handler up in the RuntimeRunner
We used to have a workaround for dev mode but, in fact, we also have the
issue in the QuarkusTestExtension and, basically, in everything using
the RuntimeRunner.

Typically, for some test failures, you didn't have anything logged
because the delayed handler was never initialized.

So let's move the forced initialization of the logger in the
RuntimeRunner itself.
2019-06-26 12:06:37 +02:00
Georgios Andrianakis
ae9409527a Fix broken quarkusDev in Gradle
This fix utilizes the resources output directory (which differs from
that of classes by default - unlike Maven) and passes it into the
Runtime ClassLoader in order to make sure that properties can be loaded
as well

Fixes #2413
2019-06-22 16:11:28 +03:00
Stuart Douglas
c9cba824e8 Remove license headers 2019-06-14 08:01:18 +10:00
Guillaume Smet
f06c53aca9 Merge pull request #2638 from stuartwdouglas/startup-failure
If start failed always attempt restart
2019-05-30 13:30:36 +02:00