Set offline mode to false to enable dependency fetching for model files#444
Set offline mode to false to enable dependency fetching for model files#444TharmiganK wants to merge 8 commits intomainfrom
Conversation
Update changelog for version 1.9.0 release with new features.
📝 WalkthroughWalkthroughThis PR releases version 1.9.0 by consolidating version metadata, updating test fixtures to normalize dependency versions, and enabling online dependency resolution during schema validation. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_4/Ballerina.toml (1)
1-5:⚠️ Potential issue | 🟡 MinorPre-existing: package
namedoesn't match the containing directory.The
namefield is"tool_test_generate_multimodel_invalid"but the directory istool_test_generate_multimodel_4. This is not introduced by this PR, but it may cause confusing test failure messages if this fixture is ever referenced by name. Worth correcting in a follow-up.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_4/Ballerina.toml` around lines 1 - 5, The package name in the Ballerina.toml ("name" = "tool_test_generate_multimodel_invalid") does not match the containing directory; update the "name" field value to "tool_test_generate_multimodel_4" so it matches the directory and avoids confusing test failures when the fixture is referenced; edit the TOML in the file containing the [package] block and change the name key accordingly.
♻️ Duplicate comments (19)
persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_58_mssql/Ballerina.toml (1)
13-13: Version bump is consistent with the rest of the PR.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_58_mssql/Ballerina.toml` at line 13, The Ballerina.toml currently sets version = "1.7.2"; confirm and keep this bump, and ensure consistency by updating any other package metadata or Ballerina.toml files in the repo to the same version; check for mismatches in package/version declarations and align them so "version" in Ballerina.toml matches the PR-wide version.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_40/Ballerina.toml (1)
13-13: Version bump is consistent with the rest of the PR.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_40/Ballerina.toml` at line 13, The version line "version = \"1.7.2\"" in Ballerina.toml is already updated to match the PR; keep this version bump as-is (do not revert) so it remains consistent with the rest of the changes and ensure no other TOML files contain an outdated version string that would need synchronizing.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_116/Ballerina.toml (1)
13-13: Version bump is consistent with the rest of the PR.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_116/Ballerina.toml` at line 13, The Ballerina.toml version line was updated to version = "1.7.2"; ensure this version bump is propagated consistently across the repo by updating any other Ballerina.toml, package metadata, CI configs, or release/version constants that reference the previous version, and run the test matrix to confirm no regressions; specifically search for and replace the previous version string with "1.7.2" in project metadata and update changelogs or docs as needed before committing.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_110_h2/Ballerina.toml (1)
13-13: Version bump is consistent with the rest of the PR.Same
persist.sql-native 1.7.1 → 1.7.2update as in the other test fixtures; the artifact availability concern raised ontool_test_generate_35/Ballerina.tomlapplies here as well.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_110_h2/Ballerina.toml` at line 13, The test fixture Ballerina.toml was updated to version = "1.7.2" to match the PR (upgrading persist.sql-native to 1.7.2); verify that the persist.sql-native 1.7.2 artifact is actually available to the test environment and, if it is not, either restore the dependency to 1.7.1 or update the test fixture resolution (e.g., test repo settings) so the 1.7.2 artifact can be fetched; locate the version line ("version = \"1.7.2\"") in this file and the corresponding persist.sql-native declaration in other test fixtures (e.g., tool_test_generate_35/Ballerina.toml) and make the same corrective change across fixtures to keep them consistent.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_125_init_params_negative_invalid_model/Ballerina.toml (1)
10-10: Version bump is consistent with the rest of the PR.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_125_init_params_negative_invalid_model/Ballerina.toml` at line 10, The Ballerina.toml's version key should be updated to "1.7.2" to match the PR; edit the version = "..." entry in persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_125_init_params_negative_invalid_model/Ballerina.toml to "1.7.2" and scan for any other occurrences of the package version (other Ballerina.toml files or metadata) to keep them consistent.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_121_init_params_h2/Ballerina.toml (1)
10-10: Version bump is consistent with the rest of the PR.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_121_init_params_h2/Ballerina.toml` at line 10, The Ballerina.toml currently has the updated line version = "1.7.2" which matches the PR; ensure this change is applied consistently by searching for any other occurrences of Ballerina.toml or version = "..." in the repo (including module manifests or CI/build configs) and update them to "1.7.2" if they differ so all manifests remain synchronized.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_22/Ballerina.toml (1)
10-13: Same dependency bump as earlier test outputs.
Line 13: Please apply the same verification noted for tool_test_generate_5.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_22/Ballerina.toml` around lines 10 - 13, The test output Ballerina.toml has an inconsistent dependency version for the SQL native module; update the [[platform.java21.dependency]] block so the groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" use the same version value applied in tool_test_generate_5 (make the version entry consistent across tests), and re-run the test to verify the file matches the expected output for tool_test_generate_22; check the "version" field in that block to locate and change the value.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_59_mssql/Ballerina.toml (1)
10-13: Same dependency bump as earlier test outputs.
Line 13: Please apply the same verification noted for tool_test_generate_5 (also confirm compatibility with distribution 2201.5.0).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_59_mssql/Ballerina.toml` around lines 10 - 13, Update the dependency version for the platform.java21.dependency block referencing artifactId "persist.sql-native" (the version field in the Ballerina.toml snippet) to match the same bump used in tool_test_generate_5, and run the compatibility verification against distribution 2201.5.0 to ensure no regressions; locate the [[platform.java21.dependency]] entry with groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" and change its version to the same value used in tool_test_generate_5, then execute the same compatibility checks you used for that test output to confirm it works with distro 2201.5.0.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_113_schema/Ballerina.toml (1)
10-13: Same dependency bump as earlier test outputs.
Line 13: Please apply the same verification noted for tool_test_generate_5 (also confirm compatibility with distribution 2201.11.0).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_113_schema/Ballerina.toml` around lines 10 - 13, The dependency block for platform.java21.dependency (artifactId "persist.sql-native") in tool_test_generate_113_schema currently shows version "1.7.2"; apply the same dependency bump and verification steps you used for tool_test_generate_5: ensure the version is updated consistently across test outputs, run the same compatibility checks against distribution 2201.11.0, and confirm the updated version does not break builds or tests referenced by the test suite; update the Ballerina.toml entry for this test to match the verified version and document the compatibility result.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_27/Ballerina.toml (1)
10-13: Same dependency bump as earlier test outputs.
Line 13: Please apply the same verification noted for tool_test_generate_5.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_27/Ballerina.toml` around lines 10 - 13, The dependency block [[platform.java21.dependency]] with groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" needs the same version update/verification applied earlier in tool_test_generate_5; change the version value to match that test's expected version and re-run the same verification (compare the version string in this [[platform.java21.dependency]] block against the version used in tool_test_generate_5) to ensure consistency across test outputs.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_2/Ballerina.toml (1)
10-13: Same dependency bump as earlier test outputs.
Line 13: Please apply the same verification noted for tool_test_generate_5.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_2/Ballerina.toml` around lines 10 - 13, The dependency version for the [[platform.java21.dependency]] block referencing artifactId "persist.sql-native" must be updated to match the same version used in the other test outputs (as done in tool_test_generate_5); edit the version value in this block to the approved version and then verify consistency across all test resource outputs (search for platform.java21.dependency and persist.sql-native in test fixtures) to ensure no other test files still reference the old version.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_28/Ballerina.toml (1)
10-13: Same dependency bump as earlier test outputs.
Line 13: Please apply the same verification noted for tool_test_generate_5.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_28/Ballerina.toml` around lines 10 - 13, This output contains a mismatched dependency version for artifactId "persist.sql-native" — update the version value in the Ballerina.toml entry for [[platform.java21.dependency]] (artifactId "persist.sql-native") to the same version used in the corresponding tool_test_generate_5 expected output, then re-run the test generation/verification to ensure the updated Ballerina.toml matches the canonical expected file; also confirm there are no duplicate dependency entries and update any related lock/checksum files if present.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_123_init_params_multiple_entities/Ballerina.toml (1)
7-10: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_123_init_params_multiple_entities/Ballerina.toml` around lines 7 - 10, The [[platform.java21.dependency]] block's version for groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" should match the earlier fixtures; update the version field to "1.7.2" (or confirm it already is) and verify all other occurrences of this dependency (search for the same groupId/artifactId) are consistently bumped to 1.7.2 so tests use the same dependency version across fixtures.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_64/Ballerina.toml (1)
10-13: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_64/Ballerina.toml` around lines 10 - 13, This file contains a duplicate dependency bump for the same dependency block ([[platform.java21.dependency]] with groupId "io.ballerina.stdlib", artifactId "persist.sql-native", version "1.7.2"); ensure the version bump is consistent with earlier fixtures by either removing the duplicate block or updating the version to match the canonical fixture, and verify no conflicting entries for "persist.sql-native" remain across test fixtures; locate the dependency blocks by the artifactId "persist.sql-native" and adjust or deduplicate them so all tests use the same version.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_91/Ballerina.toml (1)
10-13: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_91/Ballerina.toml` around lines 10 - 13, The Ballerina.toml shows a dependency version bump for io.ballerina.stdlib:persist.sql-native to 1.7.2; verify and apply the same version change across all related fixtures and test resources so they remain consistent with earlier bumps — search for the unique identifiers groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" (and the section header platform.java21.dependency) and update any mismatched version fields to "1.7.2", then run the test suite to confirm no remaining discrepancies.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_124_init_params_with_config/Ballerina.toml (1)
7-10: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_124_init_params_with_config/Ballerina.toml` around lines 7 - 10, Update the dependency version for the TOML dependency table [[platform.java21.dependency]] (keys groupId, artifactId, version) to match the earlier fixtures by setting version = "1.7.2"; then scan other test fixture TOML files for the same groupId/artifactId (io.ballerina.stdlib / persist.sql-native) and verify there are no conflicting versions or duplicate dependency entries—harmonize them to 1.7.2 if any differ.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_31/Ballerina.toml (1)
7-10: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_31/Ballerina.toml` around lines 7 - 10, The Ballerina.toml entry for [[platform.java21.dependency]] (groupId "io.ballerina.stdlib", artifactId "persist.sql-native") must be aligned with the same dependency version used in the earlier fixtures; update the version value here to match the other test fixtures' bumped version and re-run the test suite to verify consistency.persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_63_mssql/Ballerina.toml (1)
10-13: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_63_mssql/Ballerina.toml` around lines 10 - 13, The TOML shows a dependency bump for artifactId "persist.sql-native" under the [[platform.java21.dependency]] table to version "1.7.2"; ensure this matches the earlier fixture bumps by searching for other occurrences of "persist.sql-native" and updating any mismatched versions to "1.7.2", and if this entry is a duplicate of an existing dependency block remove the redundant one so there is only a single [[platform.java21.dependency]] entry for "persist.sql-native".persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_111_h2/Ballerina.toml (1)
10-13: Same dependency bump as earlier fixtures.No additional concerns beyond the verification requested above.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_111_h2/Ballerina.toml` around lines 10 - 13, The dependency entry for artifactId "persist.sql-native" under [[platform.java21.dependency]] is a duplicate of earlier fixtures and needs to be synchronized; find all occurrences of the dependency (look for the [[platform.java21.dependency]] block with groupId "io.ballerina.stdlib" and artifactId "persist.sql-native") and ensure the version is consistently set to "1.7.2" (or remove the duplicate block if it’s unintended), then re-run the test/verification that flagged this fixture to confirm the change.
🧹 Nitpick comments (2)
persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_84/Ballerina.toml (1)
13-13: CI environments may fail to resolve the new dependency under the offline → online mode switch.The
persist.sql-nativebump to1.7.2is consistent across all changed test fixtures, which is fine. However, according to the PR summary,BalProjectUtils.validateSchemaFilenow setsoffline = false, meaning schema validation will attempt live network resolution. In air-gapped or restricted CI runners, this will cause those validation steps to fail outright rather than using locally cached artifacts. Please verify that all CI pipelines (including pre-merge checks) can reach the Ballerina Central / Maven Central registries, or add an explicit fallback path for offline environments.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_84/Ballerina.toml` at line 13, The CI failure risk comes from changing persist.sql-native to version "1.7.2" in Ballerina.toml while BalProjectUtils.validateSchemaFile now forces offline = false and will attempt live resolution; update the code to handle air-gapped CI by adding an offline fallback or conditional behavior in BalProjectUtils.validateSchemaFile (e.g., detect CI/offline via env var or a configuration flag and fall back to using local cached artifacts or skip live resolution), or alternatively document and ensure all CI pipelines can reach Ballerina/Maven Central; reference BalProjectUtils.validateSchemaFile and the Ballerina.toml persist.sql-native version bump when making the change.persist-core/src/main/java/io/ballerina/persist/utils/BalProjectUtils.java (1)
166-172: Consider making offline mode configurable if air-gapped deployments are supported.
ThesetOffline(false)at lines 170 and 195 is currently hardcoded. If offline/air-gapped environments are a documented use case, wire this to a CLI flag or configuration property (defaulting to false) so users can opt into offline mode. Otherwise, this is working as intended.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@persist-core/src/main/java/io/ballerina/persist/utils/BalProjectUtils.java` around lines 166 - 172, The call to buildOptionsBuilder.setOffline(false) in validateSchemaFile is hardcoded; make offline mode configurable by reading a config/flag and passing that boolean to setOffline instead. Replace the literal false with a value obtained from your configuration source (for example a PersistConfig.isOfflineMode() method, a CLI flag parser, or System.getProperty/ENV lookup) and default to false when the config is absent; update both places where setOffline(...) is used so BuildOptions.BuildOptionsBuilder.setOffline(offLineFlag) uses the configured value and ensure any new config accessor is documented/initialized before validateSchemaFile runs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_85/Ballerina.toml`:
- Line 13: The test fixtures reference the unpublished dependency version string
"version = \"1.7.2\"" which will fail if tests are allowed to fetch Maven
artifacts; revert the change that disables offline resolution in BalProjectUtils
(restore the offline mode flag to true) or alternatively update the
Ballerina.toml entries to a published artifact version instead of "1.7.2" so
tests can run without remote resolution; locate the change in BalProjectUtils
that flipped offline mode to false and either undo it or update all fixture
version strings away from "1.7.2".
---
Outside diff comments:
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_4/Ballerina.toml`:
- Around line 1-5: The package name in the Ballerina.toml ("name" =
"tool_test_generate_multimodel_invalid") does not match the containing
directory; update the "name" field value to "tool_test_generate_multimodel_4" so
it matches the directory and avoids confusing test failures when the fixture is
referenced; edit the TOML in the file containing the [package] block and change
the name key accordingly.
---
Duplicate comments:
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_110_h2/Ballerina.toml`:
- Line 13: The test fixture Ballerina.toml was updated to version = "1.7.2" to
match the PR (upgrading persist.sql-native to 1.7.2); verify that the
persist.sql-native 1.7.2 artifact is actually available to the test environment
and, if it is not, either restore the dependency to 1.7.1 or update the test
fixture resolution (e.g., test repo settings) so the 1.7.2 artifact can be
fetched; locate the version line ("version = \"1.7.2\"") in this file and the
corresponding persist.sql-native declaration in other test fixtures (e.g.,
tool_test_generate_35/Ballerina.toml) and make the same corrective change across
fixtures to keep them consistent.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_111_h2/Ballerina.toml`:
- Around line 10-13: The dependency entry for artifactId "persist.sql-native"
under [[platform.java21.dependency]] is a duplicate of earlier fixtures and
needs to be synchronized; find all occurrences of the dependency (look for the
[[platform.java21.dependency]] block with groupId "io.ballerina.stdlib" and
artifactId "persist.sql-native") and ensure the version is consistently set to
"1.7.2" (or remove the duplicate block if it’s unintended), then re-run the
test/verification that flagged this fixture to confirm the change.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_113_schema/Ballerina.toml`:
- Around line 10-13: The dependency block for platform.java21.dependency
(artifactId "persist.sql-native") in tool_test_generate_113_schema currently
shows version "1.7.2"; apply the same dependency bump and verification steps you
used for tool_test_generate_5: ensure the version is updated consistently across
test outputs, run the same compatibility checks against distribution 2201.11.0,
and confirm the updated version does not break builds or tests referenced by the
test suite; update the Ballerina.toml entry for this test to match the verified
version and document the compatibility result.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_116/Ballerina.toml`:
- Line 13: The Ballerina.toml version line was updated to version = "1.7.2";
ensure this version bump is propagated consistently across the repo by updating
any other Ballerina.toml, package metadata, CI configs, or release/version
constants that reference the previous version, and run the test matrix to
confirm no regressions; specifically search for and replace the previous version
string with "1.7.2" in project metadata and update changelogs or docs as needed
before committing.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_121_init_params_h2/Ballerina.toml`:
- Line 10: The Ballerina.toml currently has the updated line version = "1.7.2"
which matches the PR; ensure this change is applied consistently by searching
for any other occurrences of Ballerina.toml or version = "..." in the repo
(including module manifests or CI/build configs) and update them to "1.7.2" if
they differ so all manifests remain synchronized.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_123_init_params_multiple_entities/Ballerina.toml`:
- Around line 7-10: The [[platform.java21.dependency]] block's version for
groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" should match
the earlier fixtures; update the version field to "1.7.2" (or confirm it already
is) and verify all other occurrences of this dependency (search for the same
groupId/artifactId) are consistently bumped to 1.7.2 so tests use the same
dependency version across fixtures.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_124_init_params_with_config/Ballerina.toml`:
- Around line 7-10: Update the dependency version for the TOML dependency table
[[platform.java21.dependency]] (keys groupId, artifactId, version) to match the
earlier fixtures by setting version = "1.7.2"; then scan other test fixture TOML
files for the same groupId/artifactId (io.ballerina.stdlib / persist.sql-native)
and verify there are no conflicting versions or duplicate dependency
entries—harmonize them to 1.7.2 if any differ.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_125_init_params_negative_invalid_model/Ballerina.toml`:
- Line 10: The Ballerina.toml's version key should be updated to "1.7.2" to
match the PR; edit the version = "..." entry in
persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_125_init_params_negative_invalid_model/Ballerina.toml
to "1.7.2" and scan for any other occurrences of the package version (other
Ballerina.toml files or metadata) to keep them consistent.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_2/Ballerina.toml`:
- Around line 10-13: The dependency version for the
[[platform.java21.dependency]] block referencing artifactId "persist.sql-native"
must be updated to match the same version used in the other test outputs (as
done in tool_test_generate_5); edit the version value in this block to the
approved version and then verify consistency across all test resource outputs
(search for platform.java21.dependency and persist.sql-native in test fixtures)
to ensure no other test files still reference the old version.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_22/Ballerina.toml`:
- Around line 10-13: The test output Ballerina.toml has an inconsistent
dependency version for the SQL native module; update the
[[platform.java21.dependency]] block so the groupId "io.ballerina.stdlib" and
artifactId "persist.sql-native" use the same version value applied in
tool_test_generate_5 (make the version entry consistent across tests), and
re-run the test to verify the file matches the expected output for
tool_test_generate_22; check the "version" field in that block to locate and
change the value.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_27/Ballerina.toml`:
- Around line 10-13: The dependency block [[platform.java21.dependency]] with
groupId "io.ballerina.stdlib" and artifactId "persist.sql-native" needs the same
version update/verification applied earlier in tool_test_generate_5; change the
version value to match that test's expected version and re-run the same
verification (compare the version string in this [[platform.java21.dependency]]
block against the version used in tool_test_generate_5) to ensure consistency
across test outputs.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_28/Ballerina.toml`:
- Around line 10-13: This output contains a mismatched dependency version for
artifactId "persist.sql-native" — update the version value in the Ballerina.toml
entry for [[platform.java21.dependency]] (artifactId "persist.sql-native") to
the same version used in the corresponding tool_test_generate_5 expected output,
then re-run the test generation/verification to ensure the updated
Ballerina.toml matches the canonical expected file; also confirm there are no
duplicate dependency entries and update any related lock/checksum files if
present.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_31/Ballerina.toml`:
- Around line 7-10: The Ballerina.toml entry for [[platform.java21.dependency]]
(groupId "io.ballerina.stdlib", artifactId "persist.sql-native") must be aligned
with the same dependency version used in the earlier fixtures; update the
version value here to match the other test fixtures' bumped version and re-run
the test suite to verify consistency.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_40/Ballerina.toml`:
- Line 13: The version line "version = \"1.7.2\"" in Ballerina.toml is already
updated to match the PR; keep this version bump as-is (do not revert) so it
remains consistent with the rest of the changes and ensure no other TOML files
contain an outdated version string that would need synchronizing.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_58_mssql/Ballerina.toml`:
- Line 13: The Ballerina.toml currently sets version = "1.7.2"; confirm and keep
this bump, and ensure consistency by updating any other package metadata or
Ballerina.toml files in the repo to the same version; check for mismatches in
package/version declarations and align them so "version" in Ballerina.toml
matches the PR-wide version.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_59_mssql/Ballerina.toml`:
- Around line 10-13: Update the dependency version for the
platform.java21.dependency block referencing artifactId "persist.sql-native"
(the version field in the Ballerina.toml snippet) to match the same bump used in
tool_test_generate_5, and run the compatibility verification against
distribution 2201.5.0 to ensure no regressions; locate the
[[platform.java21.dependency]] entry with groupId "io.ballerina.stdlib" and
artifactId "persist.sql-native" and change its version to the same value used in
tool_test_generate_5, then execute the same compatibility checks you used for
that test output to confirm it works with distro 2201.5.0.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_63_mssql/Ballerina.toml`:
- Around line 10-13: The TOML shows a dependency bump for artifactId
"persist.sql-native" under the [[platform.java21.dependency]] table to version
"1.7.2"; ensure this matches the earlier fixture bumps by searching for other
occurrences of "persist.sql-native" and updating any mismatched versions to
"1.7.2", and if this entry is a duplicate of an existing dependency block remove
the redundant one so there is only a single [[platform.java21.dependency]] entry
for "persist.sql-native".
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_64/Ballerina.toml`:
- Around line 10-13: This file contains a duplicate dependency bump for the same
dependency block ([[platform.java21.dependency]] with groupId
"io.ballerina.stdlib", artifactId "persist.sql-native", version "1.7.2"); ensure
the version bump is consistent with earlier fixtures by either removing the
duplicate block or updating the version to match the canonical fixture, and
verify no conflicting entries for "persist.sql-native" remain across test
fixtures; locate the dependency blocks by the artifactId "persist.sql-native"
and adjust or deduplicate them so all tests use the same version.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_91/Ballerina.toml`:
- Around line 10-13: The Ballerina.toml shows a dependency version bump for
io.ballerina.stdlib:persist.sql-native to 1.7.2; verify and apply the same
version change across all related fixtures and test resources so they remain
consistent with earlier bumps — search for the unique identifiers groupId
"io.ballerina.stdlib" and artifactId "persist.sql-native" (and the section
header platform.java21.dependency) and update any mismatched version fields to
"1.7.2", then run the test suite to confirm no remaining discrepancies.
---
Nitpick comments:
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_84/Ballerina.toml`:
- Line 13: The CI failure risk comes from changing persist.sql-native to version
"1.7.2" in Ballerina.toml while BalProjectUtils.validateSchemaFile now forces
offline = false and will attempt live resolution; update the code to handle
air-gapped CI by adding an offline fallback or conditional behavior in
BalProjectUtils.validateSchemaFile (e.g., detect CI/offline via env var or a
configuration flag and fall back to using local cached artifacts or skip live
resolution), or alternatively document and ensure all CI pipelines can reach
Ballerina/Maven Central; reference BalProjectUtils.validateSchemaFile and the
Ballerina.toml persist.sql-native version bump when making the change.
In `@persist-core/src/main/java/io/ballerina/persist/utils/BalProjectUtils.java`:
- Around line 166-172: The call to buildOptionsBuilder.setOffline(false) in
validateSchemaFile is hardcoded; make offline mode configurable by reading a
config/flag and passing that boolean to setOffline instead. Replace the literal
false with a value obtained from your configuration source (for example a
PersistConfig.isOfflineMode() method, a CLI flag parser, or
System.getProperty/ENV lookup) and default to false when the config is absent;
update both places where setOffline(...) is used so
BuildOptions.BuildOptionsBuilder.setOffline(offLineFlag) uses the configured
value and ensure any new config accessor is documented/initialized before
validateSchemaFile runs.
ℹ️ Review info
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (102)
changelog.mdgradle.propertiespersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_1/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_101/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_105/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_106/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_107_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_108_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_109_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_11/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_110_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_111_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_112_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_113_schema/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_114/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_115/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_116/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_117/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_118_init_params_mysql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_119_init_params_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_12/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_120_init_params_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_121_init_params_h2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_122_init_params_relationships/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_123_init_params_multiple_entities/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_124_init_params_with_config/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_125_init_params_negative_invalid_model/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_13/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_15/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_16/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_17/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_19/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_22/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_24/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_25/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_26/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_27/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_28/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_29/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_3/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_31/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_33/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_34/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_35/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_36/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_37/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_39/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_40/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_41/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_46/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_5/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_50/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_51/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_58_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_59_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_60_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_61_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_62_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_63_mssql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_64/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_65/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_66_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_67_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_68_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_69_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_7/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_70_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_71_postgresql/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_72/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_73/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_74/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_75/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_76/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_77/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_78/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_79/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_8/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_80/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_81/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_82/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_83/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_84/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_85/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_86/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_87/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_88/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_89/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_9/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_90/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_91/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_92/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_93/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_94/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_backward_compat/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_hybrid/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_1/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_2/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_3/Ballerina.tomlpersist-cli-tests/src/test/resources/test-src/output/tool_test_generate_multimodel_4/Ballerina.tomlpersist-core/src/main/java/io/ballerina/persist/utils/BalProjectUtils.javapersist-tool/BalTool.toml
| groupId = "io.ballerina.stdlib" | ||
| artifactId = "persist.sql-native" | ||
| version = "1.7.1" | ||
| version = "1.7.2" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check Maven Central for persist.sql-native:1.7.2
curl -sf "https://search.maven.org/solrsearch/select?q=g:io.ballerina.stdlib+AND+a:persist.sql-native+AND+v:1.7.2&rows=1&wt=json" \
| python3 -c "import sys, json; data=json.load(sys.stdin); print('Found:', data['response']['numFound'], 'result(s)'); [print(d['id'], d['latestVersion']) for d in data['response']['docs']]"Repository: ballerina-platform/persist-tools
Length of output: 94
🏁 Script executed:
# Find BalProjectUtils.java file
find . -name "BalProjectUtils.java" -type fRepository: ballerina-platform/persist-tools
Length of output: 152
🏁 Script executed:
# Search for offline mode in BalProjectUtils.java to verify the companion change
rg -n "offline" --type java | head -20Repository: ballerina-platform/persist-tools
Length of output: 400
🏁 Script executed:
# Read BalProjectUtils.java around the offline mode changes
sed -n '160,200p' ./persist-core/src/main/java/io/ballerina/persist/utils/BalProjectUtils.javaRepository: ballerina-platform/persist-tools
Length of output: 2330
🏁 Script executed:
# Check the full Ballerina.toml file to understand the version context
cat ./persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_85/Ballerina.tomlRepository: ballerina-platform/persist-tools
Length of output: 337
🏁 Script executed:
# Search for any version 1.7.2 references in the codebase
rg "1\.7\.2" -nRepository: ballerina-platform/persist-tools
Length of output: 11443
persist.sql-native:1.7.2 is not published to Maven Central—this will block all test execution.
The companion change in BalProjectUtils.java (lines 168, 193) switches offline mode to false to allow live Maven fetches for dependencies. However, the artifact does not exist on Maven Central yet. Since 1.7.2 is referenced in 70+ test fixture files across the test suite, enabling offline mode to false will cause dependency-resolution failures on every test run using these fixtures. This change cannot be merged until the artifact is published.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@persist-cli-tests/src/test/resources/test-src/output/tool_test_generate_85/Ballerina.toml`
at line 13, The test fixtures reference the unpublished dependency version
string "version = \"1.7.2\"" which will fail if tests are allowed to fetch Maven
artifacts; revert the change that disables offline resolution in BalProjectUtils
(restore the offline mode flag to true) or alternatively update the
Ballerina.toml entries to a published artifact version instead of "1.7.2" so
tests can run without remote resolution; locate the change in BalProjectUtils
that flipped offline mode to false and either undo it or update all fixture
version strings away from "1.7.2".
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #444 +/- ##
=======================================
Coverage 85.04% 85.04%
=======================================
Files 68 68
Lines 6808 6808
Branches 921 921
=======================================
Hits 5790 5790
Misses 730 730
Partials 288 288 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|



Purpose
Examples
N/A
Checklist
Linked to an issueUpdated the specificationUpdated the changelogAdded testsSummary of Changes
This pull request enables dependency fetching for model file processing and updates project dependencies to improve stability and consistency.
Core Functionality Change
BalProjectUtils.javato allow dependencies to be fetched during model file schema validation, enabling the tool to properly resolve and access model file dependencies.Dependency Version Updates
persist.sql-nativedependency version from 1.7.1 to 1.7.2 across all test resource Ballerina.toml files (60+ files)gradle.propertiesby removing timestamp suffixes for consistency:stdlibPersistVersion: 1.7.0 (removed timestamp suffix)stdlibPersistSqlVersion: 1.7.2 (removed timestamp suffix)persistSqlNativeVersion: 1.7.2 (removed timestamp suffix)Release Updates
Impact
The primary change enables the tool to fetch and resolve dependencies when processing model files, which improves the reliability of schema validation and model file handling by ensuring all required dependencies are available during processing.