Commit Graph

17 Commits

Author SHA1 Message Date
Andy Clement
3fc5dd056d Reworking split package related changes.
Instead of considering things from jars to be reloadable if
they are in the same package as subtypes that are also reloadable
it is better to just make the test (isTopmostReloadable()) smarter.
This test determines which reloadable type is the highest in
the hierarchy and gets extra state added to it. With a 'dumb test'
it was assuming further parents were reloadable because they
were in the same package as the subtype. Now it does a more
costly, more precise check.

The original solution had problems because if you made some classes
from a jar reloadable, that confused handled of other subclasses
of those types in other jars (that did not share the same package
name so would not have been made reloadable).

This area of the code to do with a bit of a smack with a
refactoring hammer to streamline it.
2015-07-20 21:57:46 -07:00
Andy Clement
d2fc21dc1d Better support for split packages.
- if you force an inclusion via 'inclusions=foo..*' then
  allow for everything in that package to be made reloadable
  regardless of it coming from jar or disk.
- when inclusion patterns don't match fall back on regular
  acceptance mechanisms (like package cache, etc) rather
  than just dismissing it.
- the results of decision making around making things
  reloadable are now enums/objects rather than plain booleans
  so that later we can do further analysis on those
  decisions.

Issue: https://github.com/grails/grails-core/issues/8817
2015-07-15 08:44:10 -07:00
Andy Clement
56d0c00822 Rudimentary jar watching
New options watchJars takes a colon separated list of jars
(just the jar names, not paths).  For example:

-Dspringloaded=watchJars=foo.jar:bar.jar

Committed some very basic tests that are passing, they are in
the SpringLoadedTestsInSeparateJVM test class, see the
tests with 'jar' in the name.
2015-05-05 17:50:57 -07:00
Andy Clement
1eb033f7e6 lambda reloading, invokeinterface support - fixes #82 2015-03-07 22:11:49 -08:00
Andy Clement
0787767b09 Upgrade to asm-5.0.2
This ASM has a different visitMethodInsn() instruction so
there are big changes throughout the code. The tests are running
fine but as new testcases are added related to Java8 we may need
further fixes to take account of the extra isInterface parameter
on visitMethodInsn()
2014-05-15 12:36:13 -07:00
Andy Clement
513257a84d Serialization handling - see github issue #24 2014-03-11 12:39:34 -07:00
Andy Clement
ee3b3acc2f Fixing warnings and harness around running Java8 tests and separate JVM tests 2014-02-26 13:16:57 -08:00
Andy Clement
6082381468 Fixing javadoc issues 2014-02-25 11:24:30 -08:00
Andy Clement
e400e2da63 Working Java8 build!
- Split the AspectJ testcode out of the general testdata project.
- Adjusted tests to handle that JDT produces different code to AspectJ.
- Modified some tests to work better with javac compiled testdata (which
  is what happens when building on the command line or build machine)
2014-02-20 09:13:14 -08:00
Andy Clement
db06b6f619 Fixing the build process for Java8 2014-02-18 09:27:23 -08:00
Andy Clement
9774e2a0d4 WIP on Java8. Looking at lambda reloading first (required invokedynamic handling) 2014-02-13 10:39:32 -08:00
Andy Clement
8dff505b88 Groundwork for performance related tests 2014-02-06 13:38:04 -08:00
Andy Clement
59be31b9f9 GITHUB-34: final methods, interfaces and enums 2014-02-03 20:31:21 -08:00
Andrew Clement
2337f84fdd Various changes:
- Fix for GRAILS-10411 (super dispatchers)
- Better forked JVM test harness
- Work in progress on improved logging/explain mode
2014-01-31 13:22:49 -08:00
Andy Clement
de4e171667 test launch configs and classpath tweaks 2014-01-22 13:58:18 -08:00
Andy Clement
bf9bb5369a Valid .project/.classpaths for eclipse import 2014-01-22 13:53:51 -08:00
Andy Clement
ceef61cf98 renamed all modules 2014-01-15 11:36:24 -08:00