I am hoping there is a simple answer to this, that I just can’t find. As part of our build process, we create a compiled archive using and this is trivial to reproduce using ‘execute’ in the interactive shell. However, I need to compile the archive with a specific CF engine again trivial to start a server with the appropriate configuration. What I cant find is a way to synchronously execute a file or cf command on that server from within a recipe or a task, except perhaps using cfhttp to call the file which is the equivalent of what we do currently.
Is there a way to execute against a specific running server process?
I really hate the tooling in place for creating Lucee archives. It’s dependance on the web admin UI or the undocumented cfadmin tag that must be executed in the context of a running server is very limiting. The best you can really do would be automate the starting of a Lucee web server of your choice, then hitting a URL of a page in the webroot that would create the archive for you. It’s quite regrettable Lucee hasn’t provided better tooling for you to automate this directly from a jar or something.
It may be possible for someone who cares enough to create a command that tries to spin up your Lucee engine with JSR-233 and then execute the code within that. What I don’t know however is if CFML has be loaded twice in the same JVM via that method. You’d probably need to load the jar on the fly in another classloader and then use that cl for your new JSR-223 instance. I had the same idea once for the REPL. I just never cared enough to try it myself
guess I will stick with maven but I will be using Command box to run up the server rather than running up tomcat and deploying Lucee for every build.
Keep up the good work
Regarding Maven, is there anything you’re using Maven for that can’t be accomplished with a Task Runner. It seems like that would be a lot more powerful, especially if you’re dealing with startings servers and such.