PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/src/test/resources/examples/TestScript.groovy

https://bitbucket.org/sorin/scriptrunner-public-sorin
Groovy | 87 lines | 45 code | 24 blank | 18 comment | 1 complexity | 2e2f48a3ff2715b9a46810c5b386fba6 MD5 | raw file
  1. import com.atlassian.jira.ComponentManager
  2. import com.onresolve.jira.groovy.PackageScanner
  3. import com.onresolve.jira.groovy.GroovyRunner
  4. import javax.script.ScriptEngine
  5. import javax.script.Invocable
  6. import com.atlassian.plugin.util.ClassLoaderUtils
  7. import com.onresolve.jira.groovy.canned.admin.RealClass
  8. import com.atlassian.jira.issue.Issue
  9. def projectManager = ComponentManager.getInstance().getProjectManager()
  10. log.setLevel (org.apache.log4j.Level.DEBUG)
  11. class Bah{
  12. public static Issue staticIssue
  13. }
  14. issue = "barse"
  15. 5.times {
  16. println (x)
  17. Thread.sleep 1000
  18. }
  19. return
  20. log.debug ("issue: $issue")
  21. Issue myIssue = issue
  22. Bah.staticIssue = issue
  23. log.debug ("Issue: ${myIssue.getKey()} ... sleeping...")
  24. Thread.sleep (1000)
  25. log.debug ("Issue: ${myIssue.getKey()} ... waking...")
  26. // log.debug new RealClass().toString()
  27. return
  28. log.debug this.class.classLoader.loadClass("com.onresolve.jira.groovy.canned.admin.RealClass").newInstance()
  29. // log.debug Class.forName("com.onresolve.jira.groovy.canned.admin.RealClass").newInstance()
  30. ScriptEngine engine
  31. try {
  32. engine = new GroovyRunner().getScriptEngine(new File("groovy"))
  33. } catch (Exception e) {
  34. log.warn "No groovy script engine"
  35. return
  36. }
  37. for (String className : PackageScanner.getClassesForPackage("com.onresolve.jira.groovy.canned.admin")) {
  38. InputStreamReader reader = new InputStreamReader(ClassLoaderUtils.getResourceAsStream("/" + className))
  39. log.warn reader
  40. engine.eval(reader)
  41. reader.close()
  42. Invocable invocableEngine = (Invocable) engine;
  43. log.debug "getName: " + invocableEngine.invokeFunction("getName");
  44. log.debug "getDescription: " + invocableEngine.invokeFunction("getDescription");
  45. }
  46. return
  47. //ClassLoader cld = Thread.currentThread().getContextClassLoader();
  48. //Enumeration<URL> resources = cld.getResources("/com/onresolve/jira/groovy/canned");
  49. //log.warn resources
  50. //
  51. //// can be relative
  52. //URL url = new URL("jar:file:/../../work/jiratest/3.13.5/atlassian-jira/WEB-INF/lib/groovyrunner-1.6.1.jar!/com/onresolve/jira/groovy/canned/CopyCustomField.groovy")
  53. //log.warn url
  54. //log.warn new File (url.getFile()).text
  55. //log.warn Class.forName("com.onresolve.jira.groovy.canned.CopyCustomField").newInstance()
  56. return "ended successfully"
  57. /*
  58. public class Arse {
  59. public static void main(String[] args) {
  60. println "main"
  61. }
  62. println "not main"
  63. }*/