-
Notifications
You must be signed in to change notification settings - Fork 2
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
Javassist Based Oval Builder Validation #18
Conversation
@Override | ||
public void process(final CtClass ctClass) { | ||
try { | ||
final String collectSuperClassViolations; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some explanation as to why you're collecting (a chain?) of methods to find violations is in order. Also, what happens if the super class wasn't weaved? Note: make sure you have a test for this situation somewhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So to be clear it's collection a list of violations not methods to find violations.
If any super class other than the eventual OvalBuilder parent class has not been woven then the validate method defaults to the one in OvalBuilder which uses reflection to analyze the entire class tree.
This may result in some duplicate violations being detected. I will add a test case for this.
Does that address your concern?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that does address my concern. Is there a way that we can prevent that? That'd be really cool ( :
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed issue #20 regarding this.
f4e4671
to
5a83105
Compare
5a83105
to
b1f96fd
Compare
** Build broken until plugin version 0.1.0 is in central ** |
227b590
to
a4f1924
Compare
Fixed javasisst maven plugin and core version references. |
So now it looks like it's blocked on the OvalBuilder race condition:
|
a4f1924
to
cd602b8
Compare
@BrandonArp Including a local patched version of OVal until the race condition is resolved in the next release of that project. Please take a look at the strategy I selected (e.g. pom.xml). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow... that's a messed up way to do things. I don't much like it, to be honest. That said, I do want to get this released. I think you're going to have to shade it as well. Anything that pulls Commons as a dependency will have to resolve the custom snapshot version (they can't) or if they pick up the upstream, it'll be broken with the race condition.
<showDeprecation>true</showDeprecation> | ||
<showWarnings>true</showWarnings> | ||
<compilerArgs combine.self="override"> | ||
<!--<arg>-Xlint:all</arg> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's going on here?
Removing compiler warning override.
@BrandonArp As discussed. This should be good to. |
Javassist plugin integration and class processor for adding OvalBuilder validation. This is a preview only and will not build since the plugin has not been released. Also it is missing implementation of the reflective validation rules. However, I would appreciate any feedback in the meantime as I wrap-up testing of the plugin.