@micstriit The next time you have a chance, I’d like to re-open the discussion of having the Lucee builds auto-publish new versions to ForgeBox. I think it will be pretty easy, we just need to make it happen. In the past I was against having snapshot builds published since I thought it was create a lot of versions, but honestly, I’m tempted to say, screw it, let’s just stick every new version out there so it’s easier for people to test. So long as all non-stable versions have a prerelease id like -snapshot
or whatever, then it will be fine. I think minimally, we just need:
- An additional war generated that doesn’t have the default
index.cfm
file and images, etc in it. - An additional artifact created from that “simple” war that is just a zip file containing the war and a small
box.json
file. - The
box.json
file needs to have the correctversion
in it (in npm-style semver format) and an HTTP URL to the zip file for that version in thelocation
property. - The Lucee build runs a
box publish
command with the secret ForgeBox API key which will publish the new version.
Any CommandBox users will be able to immediately start these engine versions as soon as they hit ForgeBox (assuming the zip artifact is already available somewhere). The only thing I’m not 100% sure of is where the zip file will get stored so it’s in a permanent and public location. To date, I’ve just been manually creating the zip and uploading it to the Ortus S3 account.
Here is an example box.json
file. Note how the Lucee version 5.2.3.35
is converted into an npm-style semver format of 5.2.3+35
which is a requirement for Forgebox to recognize it.
{
"name":"Lucee CF Engine",
"version":"5.2.3+35",
"createPackageDirectory":false,
"location":"http://downloads.ortussolutions.com/lucee/lucee/5.2.3.35/cf-engine-5.2.3.35.zip",
"slug":"lucee",
"shortDescription":"Lucee WAR engine for CommandBox servers.",
"type":"cf-engines"
}