-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic loader #10 #47
base: master
Are you sure you want to change the base?
Conversation
…also added a comment to CC5
openjdk7 build is broken again, will fix it... |
I believe I've stabilized this build. I am not using the Groovy Grape.grab anymore, because it seemed to have some timeout issues via Ivy. There's an open Ivy issue to set the timeout, but it currently doesn't support it. If the JAR was partially downloaded from Maven Central when the timeout occurred, it would never run in the future. I switched to the same JBoss library used by @mbechler in the test harness, although using Aether directly is probably a better idea still. That can be a future change. The POM now has all JARs set as "provided" apart from those needed for exploits. All payloads will dynamically load their dependencies. |
Includes changes for #23, so all changes over in PR #45 are included. This branch also includes:
IsolatingGroovyClassLoader
that will pull items down from Groovy's Grape repository at runtime. This also sets things up to support Groovy payload generators in the future.@DynamicDependencies
, which supports complex expression-based dependency resolution, rather than theDynamicDependencies
interface. This allows us to skip initializing the class before loading dependencies. GroovyShell is used to resolve expressions. Command line arguments are supported with thearg
binding.MyFaces
tests are skipped.Since there were lots of issues merging, if this is fine, I'll revoke PR #45. I'd rather do this all at once so I can stop working in these branches. :)