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
This commit is contained in:
Andy Clement
2015-07-15 08:44:10 -07:00
parent 51cce3c0d7
commit d2fc21dc1d
15 changed files with 279 additions and 66 deletions

BIN
testdata/jars/grailsplugins/A.class vendored Normal file

Binary file not shown.

4
testdata/jars/grailsplugins/build.sh vendored Executable file
View File

@@ -0,0 +1,4 @@
mkdir -p grails/plugins
cp ../../bin/grails/plugins/A.class ./grails/plugins/.
jar -cvMf grailsplugins.jar grails/plugins/A.class

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,8 @@
package grails.plugins;
public class A {
public void foo() {
System.out.println("A.foo() running");
}
}

View File

@@ -0,0 +1,8 @@
package grails.plugins;
public class B extends A {
public void foo() {
System.out.println("B.foo() running");
}
}

View File

@@ -0,0 +1,8 @@
package grails.plugins;
public class B2 extends A {
public void foo() {
System.out.println("B2.foo() running");
}
}