chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations - #2349

Merged
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup
Jun 30, 2026
Merged

chore: migrate to version catalog, drop Jetifier, fix Gradle 9.0 deprecations#2349
demolaf merged 4 commits into
masterfrom
chore/version-catalog-cleanup

Conversation

@demolaf

Copy link
Copy Markdown
Member

Migrates all dependency and plugin versions from buildSrc/Config.kt to gradle/libs.versions.toml, enabling Dependabot to track and update them automatically.

Removes the legacy buildscript {} block in favour of the modern plugins {} approach, and disables Jetifier after confirming all modules are clean via checkJetifier.

Also upgrades com.gradle.enterprise to com.gradle.develocity 3.19.2, removes deprecated global buildConfig and targetSdk settings, and migrates kotlinOptions.jvmTarget to the kotlin { compilerOptions {} } DSL — fixing all actionable Gradle 9.0 deprecation warnings.

@wiz-9635d3485b

wiz-9635d3485bBot commented Jun 30, 2026

Copy link
Copy Markdown

Wiz Scan Summary

⚠️ Many findings detected
Many findings were detected, but only a subset of the findings are displayed inline due to API constraints. To view all findings inline, please click here.
ScannerFindings
Vulnerability Finding Vulnerabilities22 High 30 Medium 2 Low
Data Finding Sensitive Data-
Secret Finding Secrets-
IaC Misconfiguration IaC Misconfigurations-
SAST Finding SAST Findings-
Software Management Finding Software Management Findings-
Total22 High 30 Medium 2 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

gemini-code-assist[bot]

This comment was marked as outdated.

@demolaf
demolafforce-pushed the chore/version-catalog-cleanup branch from d387a84 to 1033cfeCompareJune 30, 2026 08:13
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@firebasefirebase deleted a comment from gemini-code-assistBotJun 30, 2026
@demolaf

Copy link
Copy Markdown
MemberAuthor

/gemini review

@gemini-code-assistgemini-code-assistBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request performs a significant refactoring of the project's build configuration, migrating to Gradle Version Catalogs (libs.versions.toml) and updating the Gradle wrapper to 8.14.5. It also cleans up dependency declarations and updates various plugin configurations. Several high-severity issues were identified regarding the incorrect use of targetSdk within testOptions blocks across multiple modules, which will cause build failures. Additionally, there are recommendations to remove redundant mockito-inline dependencies now that Mockito 5.x is used, fix an incorrect classpath assignment in the gradlew script, and align lifecycle dependency versions in the version catalog.

Comment threadauth/build.gradle.kts
Comment threadcommon/build.gradle.kts
Comment threaddatabase/build.gradle.kts
Comment threadfirestore/build.gradle.kts
Comment threadinternal/lintchecks/build.gradle.kts
Comment threadstorage/build.gradle.kts
Comment threadgradlew
Comment threadgradle/libs.versions.toml Outdated
Comment threadauth/build.gradle.kts
Comment threade2eTest/build.gradle.kts
@demolaf
demolaf requested a review from mikehardyJune 30, 2026 11:26

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice - modern gradle setup +1!

one comment on full consolidation vs partial for version catalog - seems like one more pass to put all versions in versions block would make it completely clean

checkJetifier clean locally after a temporary local test-only jetifier re-enable to run the check

Comment threadgradle/libs.versions.toml Outdated

@mikehardymikehardy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a thing of beauty 🚢

@demolaf
demolaf merged commit 7398f62 into masterJun 30, 2026
19 checks passed
@mikehardy
mikehardy deleted the chore/version-catalog-cleanup branch June 30, 2026 15:35
Sign up for freeto 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.

2 participants

@demolaf@mikehardy