Affects Version/s: None
Fix Version/s: 2.3.0-beta-1
The @BaseScript annotation allows scripts to be compiled as a class other than a direct subclass of Script. There is a problem though if the new base class wants to control the execution of the script body to do things like setup, teardown, and/or conditional/repeated execution.
The trouble is that the script body is always a method named "run()" and there is no way for the base class to intercept it. Even GroovyInterceptable won't do the job because Script.run() is called from many contexts that do not honor that marker.
The solution is for the @BaseScript AST transformation to see whether the base script has an abstract method declared that it should use instead of the default "run()".
|Field||Original Value||New Value|
|Fix Version/s||2.3.0 [ 19608 ]|
|Status||Open [ 1 ]||In Progress [ 3 ]|
|Status||In Progress [ 3 ]||Resolved [ 5 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Project Import||Sun Apr 05 13:32:57 UTC 2015 [ 1428240777691 ]|
|Workflow||jira [ 12735496 ]||Default workflow, editable Closed status [ 12747149 ]|
|Project Import||Mon Apr 06 02:11:23 UTC 2015 [ 1428286283443 ]|
|Workflow||jira [ 12972910 ]||Default workflow, editable Closed status [ 12974298 ]|