Skip to content

Lucee Script Runner

Actions
Run Lucee via the command line
1.2
Latest
Star (9)

Lucee Ant Script Runner

Quickly run Lucee CFML applications headless (without a HTTP server) via the command line

CI

Please report any issues, etc in the Lucee Issue Tracker

Command line Usage

Default ant will run the sample/index.cfm file

image

You can specify:

  • Lucee version -DluceeVersion= default 6.0.3.1, (ie. 6.3.0.1, light-6.3.0.1, zero-6.3.0.1 )
  • Lucee version by query -DluceeVersionQuery="5.4/stable/light ( optional overrides luceeVersion, (version)/(stable/rc/snapshot)/(jar,light/zero) )
  • Webroot -Dwebroot= (default tests/) on Windows, avoid a trailing \ as that is treated as an escape character causes script runner to fail
  • CFML Script to run, -Dexecute= (default /index.cfm)
  • run script via include or _internalRequest (which runs the Application.cfc if present, default ) -DexecuteScriptByInclude="true"
  • any extra extensions -Dextensions= (default ``)
  • manual extension install (*.lex) from a directory -DextensionDir= (default ``)
  • compile all cfml under webroot -Dcompile="true"
  • pass in a full .CFConfig.json file -DluceeCFConfig="/path/to/.CFConfig.json
  • use a java debugger -Ddebugger="true" opens a java debugging port 5000, with suspend=y
  • preCleanup -DpreCleanup="true" purges the Lucee working dir before starting
  • postCleanup -DpostCleanup="true" purges the Lucee working dir after finishing

ant -DluceeVersion="6.0.0.95-SNAPSHOT" -Dwebroot="C:\work\lucee-docs" -Dexecute="import.cfm" -Dlucee.extensions=""

ant -DluceeVersion="6.0.0.95-SNAPSHOT" -DextensionDir="C:\work\lucee-extensions\extension-hibernate\dist"

If no webroot is specfied, you can run the provided debug script, to see which extensions are available and all the env / sys properties

ant -buildfile="C:\work\script-runner" -Dexecute="/debug.cfm"

ant -buildfile="C:\work\script-runner" -Dexecute="/debug.cfm" -DluceeVersion="light-6.0.0.95-SNAPSHOT" (light has no bundled extensions, zero has no extension or admin)

As a GitHub Action

To use as a GitHub Action, to run the PDF tests after building the PDF Extension, just add the following YAML

    - name: Checkout Lucee
      uses: actions/checkout@v2
      with:
        repository: lucee/lucee
        path: lucee
    - name: Cache Maven packages
      uses: actions/cache@v3
      with:
        path: ~/.m2
        key: lucee-script-runner-maven-cache
    - name: Cache Lucee files
      uses: actions/cache@v3
      with:
        path: _actions/lucee/script-runner/main/lucee-download-cache
        key: lucee-downloads
    - name: Run Lucee Test Suite
      uses: lucee/script-runner@main
      with:
        webroot: ${{ github.workspace }}/lucee/test
        execute: /bootstrap-tests.cfm
        luceeVersion: ${{ env.luceeVersion }}
        luceeVersionQuery: 5.4/stable/light (optional, overrides luceeVersion )
        extensions: (optional list of extension guids to install)
        extensionDir: ${{ github.workspace }}/dist (for testing building an extension with CI)
        antFlags: -d or -v etc (optional, good for debugging any ant issues)
        compile: true (optional, compiles all the cfml under the webroot)
        luceeCFConfig: /path/to/.CFConfig.json pass in additional configuration
        debugger: true (optional) runs with java debugging enabled on port 5000
        preCleanup: true (purges Lucee working directory before starting)
        postCleanup: true (purges Lucee working directory after finishing)
      env:
        testLabels: pdf
        testAdditional: ${{ github.workspace }}/tests

https://github.com/lucee/extension-pdf/blob/master/.github/workflows/main.yml

This will do the following steps

  • checkout a copy of the Lucee Code base
  • install any extension(s) (*.lex) found in ${{ github.workspace }}/dist
  • run all tests with the label of "pdf"
  • run any additional tests found in the /tests directory of the current repository

As a BitBucket Pipeline

image: atlassian/default-image:3

pipelines:
  default:
    - step:
        name: Build and Test
        caches:
          - maven
        script:
          - ant -noinput -verbose -buildfile build.xml
        artifacts:
          - dist/**
    - step:
        name: Checkout Lucee Script-runner, Lucee and run tests
        script:
          - git clone https://github.com/lucee/script-runner
          - git clone https://github.com/lucee/lucee
          - export testLabels="PDF"
          - echo $testLabels
          - ant -buildfile script-runner/build.xml -DluceeVersion="light-6.0.0.152-SNAPSHOT" -Dwebroot="$BITBUCKET_CLONE_DIR/lucee/test" -DextensionDir="$BITBUCKET_CLONE_DIR/dist" -Dexecute="/bootstrap-tests.cfm" -DtestAdditional="$BITBUCKET_CLONE_DIR/tests"

Lucee Script Runner is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Run Lucee via the command line
1.2
Latest

Lucee Script Runner is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.