View on GitHub

blog

cxgroovy

cxgroovy - это модуль Groovy для cxconsole, и одноименный bash/bat скрипт для запуска groovy скриптов.

cxgroovy поставляется вместе с cxconsole и расположен <cxconsole>/bin/cxgroovy

Использование в терминале/командной строке

cxgroovy предназначен для выполнения groovy скриптов.

cxgroovy.bat, cxgroovy.sh написан с учетом, что распакованный дистрибутив cxconsole может находится в любом месте файловой системы.

При запуске

Запуск файла скрипта groovy

cxgroovy [<опции>] <файл_сценария> [параметры скрипта]

Запуск скрипта groovy используя pipe

cat <файл_сценария> | cxgroovy [<опции>] -- [параметры скрипта]

Опции

Файл конфигурации cxgroovy

Файл cxgroovy содержит описание дополнительных java библиотек (jar), а так же расположение исходных файлов groovy.

Данный может быть указан явно с использованием параметра -conf <cxgroovy_conf> или не явно: когда указан файл сценария (например script1.groovy), ищется одноименный файл с расширением cxgroovy (например script.groovy.cxgroovy)

Файл представляет из себя xml разметку, пример:

<CXGroovyConf>
    <GCompilerConf 
        scriptBaseClass="xyz.cofe.adm.MsSqlAdmBase"
        sourceEncoding="UTF-8"
        targetDirectory="cache/bin/classes"
        minimumRecompilationInterval="15000"
        recompileGroovySource="false">
		<imports>
			<ImportClass   className="pkg.clsname"></ImportClass>
			<ImportClass   className="pkg.clsname2" alias="alias2" />
			<ImportPackage packageName="pkg"></ImportPackage>
			<ImportField   className="pkg.clsname3" fieldName="field1" />
			<ImportField   className="pkg.clsname3" fieldName="field2" alias="alias3" />
			<ImportFields  className="pkg" />
		</imports>
    </GCompilerConf>
	<GroovyClassLoaderBuilder parentCL="Inherit" shouldRecompile="false">
		<GCompilerConf 
            sourceEncoding="UTF-8"
            targetDirectory="cache/bin/classes"
            minimumRecompilationInterval="15000"
            recompileGroovySource="true"
			defaultScriptExtension="groovy"
			debug="false"
			verbose="true"
			/>
		<classpathEntries>
            <FileEntry>lib/jfreechart/jcommon-1.0.23.jar</FileEntry>
            <FileEntry>lib/jfreechart/jfreechart-1.0.19.jar</FileEntry>
            <FileEntry>src/mssql</FileEntry>
        </classpathEntries>
	</GroovyClassLoaderBuilder>
</CXGroovyConf>