From 54fe7e78ec692fb46c678ff2148a0e7e945b4a31 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Tue, 21 Jan 2025 23:17:58 +0000 Subject: [PATCH 1/4] Version bump --- box.json | 2 +- changelog.md | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/box.json b/box.json index 7cdc4d7..3c26cc3 100644 --- a/box.json +++ b/box.json @@ -1,6 +1,6 @@ { "name":"cbproxies", - "version":"1.4.0", + "version":"1.5.0", "location":"https://downloads.ortussolutions.com/ortussolutions/coldbox-modules/cbproxies/@build.version@/cbproxies-@build.version@.zip", "author":"Ortus Solutions ", "homepage":"https://github.com/coldbox-modules/cbproxies", diff --git a/changelog.md b/changelog.md index 9b9008c..42a10ab 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.4.0] - 2025-01-21 + ## [1.3.0] - 2024-05-22 ## [1.2.0] - 2024-04-10 @@ -46,7 +48,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - First iteration of this module -[Unreleased]: https://github.com/coldbox-modules/cbproxies/compare/v1.3.0...HEAD +[Unreleased]: https://github.com/coldbox-modules/cbproxies/compare/v1.4.0...HEAD + +[1.4.0]: https://github.com/coldbox-modules/cbproxies/compare/v1.3.0...v1.4.0 [1.3.0]: https://github.com/coldbox-modules/cbproxies/compare/v1.2.0...v1.3.0 From f13d9612ac5e6faecaf673d9bc19d13124a1d31c Mon Sep 17 00:00:00 2001 From: Oscar Tisnado <68830577+otisnado@users.noreply.github.com> Date: Fri, 24 Jan 2025 07:32:26 -0600 Subject: [PATCH 2/4] ci: enable workflow dispatch to automate test runs --- .github/workflows/snapshot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 0d63190..e7898eb 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -4,6 +4,7 @@ on: push: branches: - 'development' + workflow_dispatch: #Cancel running builds if another push to branch is made while this build is running concurrency: From 64dfeb852ca25f9ae45ceb5e488d288f7bf7f854 Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Tue, 18 Feb 2025 16:49:52 +0100 Subject: [PATCH 3/4] adding all new supported engines --- .github/workflows/tests.yml | 43 +++---------------- readme.md | 9 ++-- server-boxlang-cfml@1.json | 36 ++++++++++++++++ server-boxlang@1.json | 7 ++- server-adobe@2018.json => server-lucee@6.json | 16 +++---- 5 files changed, 59 insertions(+), 52 deletions(-) create mode 100644 server-boxlang-cfml@1.json rename server-adobe@2018.json => server-lucee@6.json (50%) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f23e8e4..e55b0f5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,59 +10,30 @@ on: jobs: tests: name: Tests - runs-on: ubuntu-20.04 - env: - DB_USER: root - DB_PASSWORD: root + runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: - cfengine: [ "lucee@5", "adobe@2018", "adobe@2021", "adobe@2023" ] + cfengine: [ "boxlang@1", "boxlang-cfml@1", "lucee@5", "lucee@6", "adobe@2021", "adobe@2023" ] experimental: [ false ] - include: - - coldboxVersion: "be" - cfengine: "boxlang@1" - experimental: true steps: - name: Checkout Repository uses: actions/checkout@v4 - # - name: Setup Database and Fixtures - # run: | - # sudo systemctl start mysql.service - # mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} -e 'CREATE DATABASE mementifier;' - # mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} < test-harness/tests/resources/coolblog.sql - - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" - java-version: "11" + java-version: "21" - name: Setup CommandBox CLI uses: Ortus-Solutions/setup-commandbox@v2.0.1 - # Not Needed in this module - #- name: Setup Environment For Testing Process - # run: | - # # Setup .env - # touch .env - # # ENV - # printf "DB_HOST=localhost\n" >> .env - # printf "DB_DATABASE=mydatabase\n" >> .env - # printf "DB_DRIVER=MySQL\n" >> .env - # printf "DB_USER=${{ env.DB_USER }}\n" >> .env - # printf "DB_PASSWORD=${{ env.DB_PASSWORD }}\n" >> .env - # printf "DB_CLASS=com.mysql.cj.jdbc.Driver\n" >> .env - # printf "DB_BUNDLEVERSION=8.0.19\n" >> .env - # printf "DB_BUNDLENAME=com.mysql.cj\n" >> .env - - - name: Install Test Harness with ColdBox ${{ matrix.coldboxVersion }} + - name: Install Test Harness run: | box install cd test-harness - box package set dependencies.coldbox=${{ matrix.coldboxVersion }} box install - name: Start ${{ matrix.cfengine }} Server @@ -80,13 +51,13 @@ jobs: if: always() with: junit_files: test-harness/tests/results/**/*.xml - check_name: "${{ matrix.cfengine }} ColdBox ${{ matrix.coldboxVersion }} Test Results" + check_name: "${{ matrix.cfengine }} Test Results" - name: Upload Test Results to Artifacts if: always() uses: actions/upload-artifact@v4 with: - name: test-results-${{ matrix.cfengine }}-${{ matrix.coldboxVersion }} + name: test-results-${{ matrix.cfengine }} path: | test-harness/tests/results/**/* diff --git a/readme.md b/readme.md index f333cb7..eef409f 100644 --- a/readme.md +++ b/readme.md @@ -17,11 +17,11 @@ # cbproxies -The `cbproxies` module is a raw library that allows you to build Java dynamic proxies to several key classes that allows CFML to do concurrency, streaming, and much more. The `BaseProxy` can also be used so you can extend the module and create your own concrete dynamic proxies that extend the `BaseProxy`. +The `cbproxies` module is a raw library that allows you to build Java dynamic proxies to several key classes that allows your BoxLang or CFML code to do concurrency, streaming, and much more. The `BaseProxy` can also be used so you can extend the module and create your own concrete dynamic proxies that extend the `BaseProxy`. ## BaseProxy -This object is the cornerstone for creatning CFML dynamic proxies that can be used synchronously / asynchronously and keep the CFML environment for you. Every proxy needs to be created by CFML code: +This object is the cornerstone for creatning dynamic proxies that can be used synchronously / asynchronously and keep the engine environment for you. Every proxy needs to be created by the following code: ```js proxy = new cbproxies.models.BiConsumer() @@ -46,7 +46,7 @@ function init( * `target` - This can be a closure/function that is stored in the proxy that will later be used by the implemented dynamic proxy call. * `debug` - Boolean flag that will enable debuging to console on certain key base proxy areas or by the implementing proxy. -* `loadAppContext` - This will load up the CFML application context into the proxies scope. This will allow the Java implementation to talk to anything within the CFML engine: scopes, databases, queries, orm, etc. +* `loadAppContext` - This will load up the application context into the proxies scope. This will allow the Java implementation to talk to anything within the BoxLang or CFML engine: scopes, databases, queries, orm, etc. ## Available Proxies @@ -69,7 +69,8 @@ Here is a table of the available proxies in this module: | `ToIntFunction` | `java.util.function.ToIntFunction` | | `ToLongFunction` | `java.util.function.ToLongFunction` | -## System requirements +## System Requirements + * [Boxlang](https://www.boxlang.io/) * Adobe 2018+ * Lucee 5 diff --git a/server-boxlang-cfml@1.json b/server-boxlang-cfml@1.json new file mode 100644 index 0000000..ef00ccf --- /dev/null +++ b/server-boxlang-cfml@1.json @@ -0,0 +1,36 @@ +{ + "app":{ + "cfengine":"boxlang@be", + "serverHomeDirectory":".engine/boxlang" + }, + "name":"cbproxies-boxlang@1", + "force":true, + "openBrowser":false, + "web":{ + "directoryBrowsing":true, + "http":{ + "port":"60299" + }, + "rewrites":{ + "enable":"true" + }, + "webroot":"test-harness", + "aliases":{ + "/moduleroot/cbproxies":"../" + } + }, + "JVM":{ + "heapSize":"512", + "javaVersion":"openjdk21_jre", + "args":"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999" + }, + "cfconfig":{ + "file":".cfconfig.json" + }, + "env":{ + "BOXLANG_DEBUG":true + }, + "scripts":{ + "onServerInitialInstall":"install bx-compat-cfml --noSave" + } +} diff --git a/server-boxlang@1.json b/server-boxlang@1.json index 733f2eb..924344a 100644 --- a/server-boxlang@1.json +++ b/server-boxlang@1.json @@ -20,8 +20,8 @@ } }, "JVM":{ - "heapSize":"1024", - "javaVersion":"openjdk21_jdk", + "heapSize":"512", + "javaVersion":"openjdk21_jre", "args":"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999" }, "cfconfig":{ @@ -31,6 +31,5 @@ "BOXLANG_DEBUG":true }, "scripts":{ - "onServerInitialInstall":"install bx-mail,bx-mysql,bx-derby,bx-compat-cfml@be,bx-unsafe-evaluate,bx-esapi --noSave" } -} \ No newline at end of file +} diff --git a/server-adobe@2018.json b/server-lucee@6.json similarity index 50% rename from server-adobe@2018.json rename to server-lucee@6.json index b92c215..63650e6 100644 --- a/server-adobe@2018.json +++ b/server-lucee@6.json @@ -1,8 +1,8 @@ { - "name":"cbproxies-adobe@2018", + "name":"cbproxies-lucee@6", "app":{ - "serverHomeDirectory":".engine/adobe2018", - "cfengine":"adobe@2018" + "serverHomeDirectory":".engine/lucee6", + "cfengine":"lucee@6" }, "web":{ "http":{ @@ -11,13 +11,13 @@ "rewrites":{ "enable":"true" }, - "webroot":"test-harness", - "aliases":{ + "webroot": "test-harness", + "aliases":{ "/moduleroot/cbproxies":"../" } }, "openBrowser":"false", - "cfconfig":{ - "file":".cfconfig.json" - } + "cfconfig": { + "file" : ".cfconfig.json" + } } From 6b2f976f9f3b1be8534c777593c97913356c97c5 Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Tue, 18 Feb 2025 16:53:14 +0100 Subject: [PATCH 4/4] adding latest boxlang to source --- box.json | 1 + 1 file changed, 1 insertion(+) diff --git a/box.json b/box.json index 3c26cc3..85dd2e7 100644 --- a/box.json +++ b/box.json @@ -25,6 +25,7 @@ "devDependencies":{ "commandbox-cfformat":"*", "commandbox-docbox":"*", + "commandbox-boxlang":"*", "commandbox-dotenv":"*", "commandbox-cfconfig":"*" },