diff --git a/CedarJava/CHANGELOG.md b/CedarJava/CHANGELOG.md index 216cf267..c513754a 100644 --- a/CedarJava/CHANGELOG.md +++ b/CedarJava/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 4.3.1 +### Added +* Added Zig version validation for publishing artifacts [#306](https://github.com/cedar-policy/cedar-java/pull/306) + ## 4.3.0 ### Added * Introduced new model classes for improved type safety and functionality: diff --git a/CedarJava/build.gradle b/CedarJava/build.gradle index 7a912b6f..d5fec35c 100644 --- a/CedarJava/build.gradle +++ b/CedarJava/build.gradle @@ -124,6 +124,26 @@ tasks.register('installCargoZigbuild', Exec) { commandLine 'cargo', '+' + RustVersion, 'install', 'cargo-zigbuild@0.19.7' } +def ZigVersion = '0.11' +tasks.register('validateZigVersion') { + group = 'Build' + description = 'Validates that the correct zig version is installed' + + doLast { + def output = new ByteArrayOutputStream() + exec { + commandLine 'zig', 'version' + standardOutput = output + } + def version = output.toString().trim() + println "Detected Zig version: ${version}" + if (!version.startsWith(ZigVersion)) { + throw new GradleException("Zig version must be ${ZigVersion} but found: ${version}") + } + println "Zig version validation successful" + } +} + tasks.register('compileFFI') { dependsOn('installCargoZigbuild') group 'Build' @@ -252,13 +272,14 @@ java { /* Configures Maven publishing */ +publish.dependsOn('validateZigVersion') publishing { publications { mavenJava(MavenPublication) { from components.java groupId = 'com.cedarpolicy' artifactId = 'cedar-java' - version = '4.3.0' + version = '4.3.1' artifacts { jar diff --git a/CedarJavaFFI/Cargo.toml b/CedarJavaFFI/Cargo.toml index f32d16e7..66fe807a 100644 --- a/CedarJavaFFI/Cargo.toml +++ b/CedarJavaFFI/Cargo.toml @@ -6,7 +6,7 @@ description = "Java FFI for Cedar (from the cedar-policy crate)." edition = "2021" -version = "4.3.0" +version = "4.3.1" [dependencies] serde = { version = "1.0", features = ["derive", "rc"] }