Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,37 @@ jobs:
run: ./gradlew --stacktrace --no-problems-report native-cli:distro
shell: bash

# Install Python build dependencies (setuptools/wheel may be missing on Windows runners)
- name: Install Python build dependencies
run: python3 -m pip install --upgrade setuptools wheel
shell: bash

# Generate native-lib python wheel
- name: Create Native Lib Python Wheel
run: ./gradlew --stacktrace --no-problems-report native-lib:buildPythonWheel
shell: bash

# Upload the artifact file
- name: Upload generated script
uses: actions/upload-artifact@v4
with:
name: dw-${{env.NATIVE_VERSION}}-${{runner.os}}
path: native-cli/build/distributions/native-cli-${{env.NATIVE_VERSION}}-native-distro-${{ matrix.script_name }}.zip

# Upload the Python wheel
- name: Upload Python wheel
uses: actions/upload-artifact@v4
with:
name: dw-python-wheel-${{env.NATIVE_VERSION}}-${{runner.os}}
path: native-lib/python/dist/dataweave_native-0.0.1-py3-*.whl

# Upload the native shared library + header together per OS
- name: Upload native shared library
uses: actions/upload-artifact@v4
with:
name: dwlib-${{env.NATIVE_VERSION}}-${{runner.os}}
path: |
native-lib/python/src/dataweave/native/dwlib.dylib
native-lib/python/src/dataweave/native/dwlib.so
native-lib/python/src/dataweave/native/dwlib.dll
native-lib/python/src/dataweave/native/dwlib.h
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,8 @@ out/
.DS_Store

# GraalVM
.graalvm
.graalvm

grimoires/

.windsurf/
16 changes: 14 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
buildscript {
repositories {
gradlePluginPortal()
mavenCentral()
}
dependencies {
classpath "org.graalvm.buildtools.native:org.graalvm.buildtools.native.gradle.plugin:0.11.2"
}
}

plugins {
id "scala"
id "maven-publish"
Expand All @@ -11,6 +21,8 @@ subprojects {
apply plugin: 'maven-publish'
apply plugin: 'scala'

apply plugin: 'org.graalvm.buildtools.native'

group = 'org.mule.weave.native'
version = nativeVersion

Expand All @@ -21,8 +33,8 @@ subprojects {


compileJava {
sourceCompatibility = '11'
targetCompatibility = '11'
sourceCompatibility = '17'
targetCompatibility = '17'
}

repositories {
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
weaveVersion=2.11.0-20251023
weaveTestSuiteVersion=2.11.0-20251023
weaveVersion=2.12.0-20260408
weaveTestSuiteVersion=2.12.0-20260408
nativeVersion=100.100.100
scalaVersion=2.12.18
ioVersion=2.11.0-SNAPSHOT
ioVersion=2.12.0-20260408
graalvmVersion=24.0.2
weaveSuiteVersion=2.11.0-20251023
weaveSuiteVersion=2.12.0-20260408
#Libaries
scalaTestVersion=3.2.15
scalaTestPluginVersion=0.33
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ class TCKCliTest extends AnyFunSpec with Matchers
"lazy_metadata_definition",
"module-singleton",
"multipart-write-binary",
"private_scope_directives",
"read-binary-files",
"underflow",
"try",
Expand Down Expand Up @@ -345,12 +346,16 @@ class TCKCliTest extends AnyFunSpec with Matchers
baseArray ++
Array(
"math-toRadians",
"try-handle-lazy-values-with-failures"
"try-handle-lazy-values-with-failures",
"weave_ast_example",
"weave_ast_module"
)
} else if (versionString == "2.10") {
baseArray ++
Array(
"try-handle-lazy-values-with-failures"
"try-handle-lazy-values-with-failures",
"weave_ast_example",
"weave_ast_module"
)
} else {
baseArray
Expand Down
2 changes: 0 additions & 2 deletions native-cli/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ plugins {

id "com.github.maiflai.scalatest" version "${scalaTestPluginVersion}"
id 'application'
// Apply GraalVM Native Image plugin
id 'org.graalvm.buildtools.native' version '0.11.2'
}

sourceSets {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,3 @@ case class WeaveFailureResult(message: String) extends WeaveExecutionResult {

override def result(): String = message
}


class CustomWeaveDataFormat(moduleManager: ModuleLoaderManager) extends WeaveDataFormat {
override def createModuleLoader(): ModuleLoaderManager = moduleManager
}

4 changes: 4 additions & 0 deletions native-lib/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
python/src/dataweave/native/
python/src/dataweave_native.egg-info/
python/dist/
python/build/
Loading
Loading