(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 "" :lisp-name package :if-exists :supersede)) (defmacro write-class-defs (&body defs) `(list ,@(mapcar (fw.lu:destructuring-lambda ((&key java-class dest name)) `(write-class-def ,java-class ,dest ,name)) defs))) (defun run () (write-class-defs (:java-class "org.apache.curator.framework.CuratorFramework" :name 'fwoar.lw-curator.ji.framework::class :dest "cf.lisp") (: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") (:java-class "org.apache.curator.framework.api.GetChildrenBuilder" :name 'fwoar.lw-curator.ji.gcb::class :dest "gcb.lisp") (:java-class "org.apache.curator.framework.api.GetDataBuilder" :name 'fwoar.lw-curator.ji.gdb::class :dest "gdb.lisp") (:java-class "java.util.ArrayList" :name 'fwoar.lw-curator.ji.al::class :dest "al.lisp"))) #+fwoar.gen (progn (run) (ql:quickload :lw-curator))