git.fiddlerwoaroof.com
generate-ji-definitions.lisp
fbc3743b
 (defpackage :fwoar.lw-curator.generate-ji-definitions
   (:use :cl )
   (:export ))
 (in-package :fwoar.lw-curator.generate-ji-definitions)
 
 (defun jinterface-dest (dest)
   (merge-pathnames (parse-namestring dest)
                    (asdf:component-pathname
                     (asdf:find-component :lw-curator "jinterface"))))
 
 (defun write-class-def (java-class-name dest package)
   (lw-ji:write-java-class-definitions-to-file java-class-name
                                               (jinterface-dest dest)
                                               :prefix ""
e92550c1
                                               :lisp-name package
                                               :if-exists :supersede))
fbc3743b
 (defmacro write-class-defs (&body defs)
e92550c1
   `(list
     ,@(mapcar (fw.lu:destructuring-lambda ((&key java-class dest name))
                 `(write-class-def ,java-class ,dest ,name))
               defs)))
 
fbc3743b
 
 (defun run ()
   (write-class-defs
     (:java-class "org.apache.curator.framework.CuratorFramework"
e92550c1
      :name 'fwoar.lw-curator.ji.framework::class
fbc3743b
      :dest "cf.lisp")
 
e92550c1
     (:java-class "org.apache.curator.framework.CuratorFrameworkFactory"
      :name 'fwoar.lw-curator.ji.cff::class
      :dest "cff.lisp")
 
     (:java-class "org.apache.curator.retry.BoundedExponentialBackoffRetry"
      :name 'fwoar.lw-curator.ji.bebr::class
      :dest "bebr.lisp")
 
fbc3743b
     (:java-class "org.apache.curator.framework.api.GetChildrenBuilder"
e92550c1
      :name 'fwoar.lw-curator.ji.gcb::class
fbc3743b
      :dest "gcb.lisp")
 
     (:java-class "org.apache.curator.framework.api.GetDataBuilder"
e92550c1
      :name 'fwoar.lw-curator.ji.gdb::class
fbc3743b
      :dest "gdb.lisp")
 
     (:java-class "java.util.ArrayList"
e92550c1
      :name 'fwoar.lw-curator.ji.al::class
fbc3743b
      :dest "al.lisp")))
e92550c1
 
c374e9d5
 #+fwoar.gen
e92550c1
 (progn
   (run)
   (ql:quickload :lw-curator))