Skip to content

Refactor/critical fixes#90

Open
efraespada wants to merge 24 commits intomasterfrom
refactor/critical-fixes
Open

Refactor/critical fixes#90
efraespada wants to merge 24 commits intomasterfrom
refactor/critical-fixes

Conversation

@efraespada
Copy link
Member

@efraespada efraespada commented Mar 19, 2026

📌 Summary


🎯 Related Issues / Tickets

  • Closes #
  • Related to #

🧩 Scope of Changes

  • Added:
  • Updated:
  • Removed:
  • Refactored:

🛠️ Technical Details


🔍 How to Test


🧪 Test Coverage

  • Unit tests
  • Integration tests
  • End-to-end (E2E) tests
  • Manual testing only (explain why)

📸 Screenshots / Recordings (UI changes only)


⚠️ Breaking Changes

  • None

🚀 Deployment Notes

  • Requires database migration
  • Requires environment variable changes
  • Requires feature flag toggle
  • No special deployment steps

Details:


🔒 Security Considerations

  • No security impact
  • Input validation changes
  • Authentication / authorization changes
  • Sensitive data handling changes

📈 Performance Impact

  • No performance impact
  • Improves performance
  • Potential performance regression (explain)

📝 Notes for Reviewers


✅ Checklist

  • I have self-reviewed my code
  • Code follows project standards and conventions
  • Tests have been added or updated
  • Documentation has been updated (if applicable)
  • No new warnings or lint errors
  • Changes are backward compatible or breaking changes are documented

📚 Additional Context

…ate migration instructions for version 5.x, including changes to plugin coordinates and Gradle DSL usage. Enhance build scripts with new plugin management and dependency configurations, including detekt and ktlint integration. Improve native library handling and update internal task management for better performance and clarity.
…tions configuration to include optional integration tests and Jacoco test report generation. Refactor build.gradle.kts to introduce a new integration test task, improve task property handling, and ensure proper configuration for test execution. Update README.md to clarify testing requirements and usage instructions. Refactor task properties to use Gradle's Property API for better configuration management.
…grate domain models to `domain.models`, streamline execution result handling with structured responses, and improve XML parsing with SAX-first approach. Update CI workflow to include coverage verification and enhance README.md with refactor plan checklist. Remove obsolete model classes and improve task management for better performance and clarity.
…ibility testing: add a new job to measure build performance for `assembleDebug` and ensure compatibility across multiple AGP versions. Update `ci.yml` to include performance checks and improve build stability. Remove obsolete refactor plan checklist document to streamline project documentation.
… StringCare plugin: add dependency check plugin to build.gradle.kts, update exception handling in BackupCopy.kt to catch specific exceptions, and streamline resource and asset file management in XParser.kt and AParser.kt. Enhance integration tests for multi-module projects and configuration caching in PluginIntegrationTest.kt.
…itory root detection logic, streamline build execution methods, and add compatibility tests for AGP versions 8.7.3 and 9.0.0. Update test fixtures to ensure correct paths and improve configuration cache usage.
…ity: change JVM target configuration in build.gradle.kts to use the new compilerOptions syntax, and modify PluginIntegrationTest.kt to support AGP version compatibility with updated Kotlin version handling and additional command-line arguments for Gradle execution.
…y: delete `libsignKey.dll` and `libsignKey.dylib`, and refactor `ObfuscateStringsUseCase` and `ObfuscateAssetsTask` to utilize new use case classes for improved resource management. Update file handling in `AParser.kt`, `XParser.kt`, and related tasks to support project context and streamline file operations.
…chmark` to the project structure for enhanced performance testing capabilities.
…k to ensure that obfuscated bytes differ from the original bytes, improving test coverage and validation of obfuscation functionality.
@efraespada efraespada self-assigned this Mar 19, 2026
@docs-page
Copy link

docs-page bot commented Mar 19, 2026

To view this pull requests documentation preview, visit the following URL:

docs.page/vypdev/stringcare-android~90

Documentation is deployed and generated using docs.page.

…heckout steps in multiple workflow files to include submodule initialization and use a personal access token for authentication.
… change the URL format for the stringcare-jni submodule to use HTTPS and initialize the submodule with the latest commit.
…ive library: change the path for the stringcare JNI distribution to point to the correct directory and delete the outdated `libsignKey-arm64.dylib` file.
…a conditional step in the GitHub Actions workflow to adjust the Gradle distribution URL according to the specified AGP version, ensuring compatibility with Gradle 9.1.0 for AGP 9.0.0 and 8.11.1 for earlier versions.
…t: include the example submodule in the project configuration, pointing to the sample repository for demonstration purposes.
…ava 17 compatibility: increase default command timeout, implement dynamic timeout retrieval, and ensure Gradle wrapper is updated for Java 17 in preparation tasks.
…ject commit reference in the example file to reflect changes in the working directory.
… reflect changes in the submodule's commit state.
…ose dependencies, enable build features, and replace XML layout with a Compose UI implementation. Update AndroidManifest and remove obsolete layout file.
…ration handling: replace direct configuration access with effective methods, enhance variant obfuscation task registration, and streamline project path retrieval.
…ctor restore method to ensure backup file validation, synchronize temporary folder deletion, and enforce task outputs to be always considered out-of-date for accurate rebuilds.
…e method, improving backup validation, and ensuring correct file path resolution. Update related task actions for better clarity and functionality.
…the restore process: clarify backup handling, ensure correct file path resolution, and enhance task ordering for resource management.
…ne the build pipeline by eliminating in-place source mutation and post-merge restore tasks. Introduce new per-variant obfuscation tasks for string resources and assets, ensuring generated outputs are properly registered with AGP. Update documentation to reflect these changes and clarify the new task behaviors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant