René's URL Explorer Experiment


Title: Self-documenting settings template by Vassiliy-Kudryashov · Pull Request #1420 · UnitTestBot/UTBotJava · GitHub

Open Graph Title: Self-documenting settings template by Vassiliy-Kudryashov · Pull Request #1420 · UnitTestBot/UTBotJava

X Title: Self-documenting settings template by Vassiliy-Kudryashov · Pull Request #1420 · UnitTestBot/UTBotJava

Description: Description There is new helper to be used from Gradle task. It converts UtSettings.kt to resource file settings.properties. So, actual state of UtSettings.kt (properties, defauls, relevant documentation comments) will allways be converted to bundled resource file we publish along with the plugin as top-level entry inside utbot-intellij-{version}.jar file. Note, the template contains commented lines only so we free to change our hardcoded defaults later and re-write outdated template with new one until it's customized by user. Just after IDE start (namely when plugin loads its settings) we check if settings.properties is presented in user's local file system as {home}/.utbot/settings.properties: If not we create it from the resource template together with the folder is need. If file already exists we copy resource template only if there are no custom (provided by user) values inside to persist existing users' configuration "as is". Fixes #1412 Type of Change New feature (non-breaking change which adds functionality) How Has This Been Tested? Manual Scenarios Scenario 1 Delete {home}/.utbot folder if exists. Start IDE, wait for project loading. The folder {home}/.utbot should be created automatically, for Windows it also should be marked as "hidden file". There should be template file settings.properties inside. If you delete the file it should appear again after IDE restart. Scenario 2 Clear the file {home}/.utbot/settings.properties, leave just one line inside: disableCoroutinesDebug=true Start IDE, wait for project loading. As soon as property file contains defaults, it should be re-writen with template. Scenario 3 Clear the file {home}/.utbot/settings.properties, leave just one line inside: disableCoroutinesDebug=false Start IDE, wait for project loading. As soon as property file contains custom value, it should stay as is. Checklist (remove irrelevant options): The change followed the style guidelines of the UTBot project Self-review of the code is passed The change contains enough commentaries, particularly in hard-to-understand areas New documentation is provided or existed one is altered No new warnings

Open Graph Description: Description There is new helper to be used from Gradle task. It converts UtSettings.kt to resource file settings.properties. So, actual state of UtSettings.kt (properties, defauls, relevant docum...

X Description: Description There is new helper to be used from Gradle task. It converts UtSettings.kt to resource file settings.properties. So, actual state of UtSettings.kt (properties, defauls, relevant docum...

Opengraph URL: https://github.com/UnitTestBot/UTBotJava/pull/1420

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:18d74375-2fce-5850-344f-02310cb24505
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD5D6:10774D:3596D1:46489A:698EAF07
html-safe-noncec0dabd7d1d08dff5df739fb4a3fb8899f3b71009e272c28d16175e8ca178a647
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENUQ2OjEwNzc0RDozNTk2RDE6NDY0ODlBOjY5OEVBRjA3IiwidmlzaXRvcl9pZCI6IjY2MTE4OTI3OTE0ODcxNDc3ODMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacef42a50b7e31f1bcc873ec815958dbf4787184c2ad227f134333b25a83892a2d
hovercard-subject-tagpull_request:1135197569
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/UnitTestBot/UTBotJava/pull/1420/files
twitter:imagehttps://avatars.githubusercontent.com/u/4101410?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/4101410?s=400&v=4
og:image:altDescription There is new helper to be used from Gradle task. It converts UtSettings.kt to resource file settings.properties. So, actual state of UtSettings.kt (properties, defauls, relevant docum...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonecb2828a801ee6b7be618f3ac76fbf55def35bbc30f053a9c41bf90210b8b72ba
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/UnitTestBot/UTBotJava git https://github.com/UnitTestBot/UTBotJava.git
octolytics-dimension-user_id87413538
octolytics-dimension-user_loginUnitTestBot
octolytics-dimension-repository_id480810501
octolytics-dimension-repository_nwoUnitTestBot/UTBotJava
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id480810501
octolytics-dimension-repository_network_root_nwoUnitTestBot/UTBotJava
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasee6b91a7e6e46287d26887e3fb7a4161657bab8f7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/UnitTestBot/UTBotJava/pull/1420/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FUnitTestBot%2FUTBotJava%2Fpull%2F1420%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FUnitTestBot%2FUTBotJava%2Fpull%2F1420%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=UnitTestBot%2FUTBotJava
Reloadhttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
Reloadhttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
Reloadhttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
UnitTestBot https://github.com/UnitTestBot
UTBotJavahttps://github.com/UnitTestBot/UTBotJava
Notifications https://github.com/login?return_to=%2FUnitTestBot%2FUTBotJava
Fork 45 https://github.com/login?return_to=%2FUnitTestBot%2FUTBotJava
Star 142 https://github.com/login?return_to=%2FUnitTestBot%2FUTBotJava
Code https://github.com/UnitTestBot/UTBotJava
Issues 386 https://github.com/UnitTestBot/UTBotJava/issues
Pull requests 33 https://github.com/UnitTestBot/UTBotJava/pulls
Discussions https://github.com/UnitTestBot/UTBotJava/discussions
Actions https://github.com/UnitTestBot/UTBotJava/actions
Projects 1 https://github.com/UnitTestBot/UTBotJava/projects
Wiki https://github.com/UnitTestBot/UTBotJava/wiki
Security 0 https://github.com/UnitTestBot/UTBotJava/security
Insights https://github.com/UnitTestBot/UTBotJava/pulse
Code https://github.com/UnitTestBot/UTBotJava
Issues https://github.com/UnitTestBot/UTBotJava/issues
Pull requests https://github.com/UnitTestBot/UTBotJava/pulls
Discussions https://github.com/UnitTestBot/UTBotJava/discussions
Actions https://github.com/UnitTestBot/UTBotJava/actions
Projects https://github.com/UnitTestBot/UTBotJava/projects
Wiki https://github.com/UnitTestBot/UTBotJava/wiki
Security https://github.com/UnitTestBot/UTBotJava/security
Insights https://github.com/UnitTestBot/UTBotJava/pulse
Sign up for GitHub https://github.com/signup?return_to=%2FUnitTestBot%2FUTBotJava%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2FUnitTestBot%2FUTBotJava%2Fissues%2Fnew%2Fchoose
Vassiliy-Kudryashovhttps://github.com/Vassiliy-Kudryashov
mainhttps://github.com/UnitTestBot/UTBotJava/tree/main
Vassiliy-Kudryashov/experimentshttps://github.com/UnitTestBot/UTBotJava/tree/Vassiliy-Kudryashov/experiments
Conversation 6 https://github.com/UnitTestBot/UTBotJava/pull/1420
Commits 20 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits
Checks 0 https://github.com/UnitTestBot/UTBotJava/pull/1420/checks
Files changed https://github.com/UnitTestBot/UTBotJava/pull/1420/files
Please reload this pagehttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
Self-documenting settings template https://github.com/UnitTestBot/UTBotJava/pull/1420/files#top
Show all changes 20 commits https://github.com/UnitTestBot/UTBotJava/pull/1420/files
e2e53f2 Convert 'UTSettings.kt' into '.utbot/settings.properties' Vassiliy-Kudryashov Nov 17, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/e2e53f2710b5c56e5b322112a0cc098e5b85ce7f
0fc356d Parsing UtSettings.kt line by line to get name, type, possible values… Vassiliy-Kudryashov Nov 17, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/0fc356d1f73e1ee2d4238e86e0bc5a8e0c6493fa
e397cda Misprint Vassiliy-Kudryashov Nov 17, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/e397cda62946143dd1a7fe03df3fbba0e03badad
bfda1de Grade task "generateConfigTemplate" Vassiliy-Kudryashov Nov 18, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/bfda1decc7cd16589b1e61fa591804a92f2f1f82
5e567df Add TODOs for myself Vassiliy-Kudryashov Nov 18, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/5e567df8b851824dd82a80c3e3b34557ddbe26eb
e5b879c Implementation of added TODOs Vassiliy-Kudryashov Nov 20, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/e5b879ca69323dd32ab5744d074710216d0ffa2b
8a39fc2 Compact one-line documentation in output file for enum values Vassiliy-Kudryashov Nov 21, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/8a39fc2768e80b95b6cf0903b3c96612a096b0b1
02cc183 Add Apache 2.0 license to settings.properties output and tune comment… Vassiliy-Kudryashov Nov 22, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/02cc183f3008bd4f1fbc3dfc8f6789a22616fb07
b2a4581 Add generated template to keep is in repository as well Vassiliy-Kudryashov Nov 22, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/b2a458168800f597a112a92e7a2dfc9da25af2fd
52c60b7 Add template generation to gradle build process Vassiliy-Kudryashov Nov 23, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/52c60b74f9138a9b49b45d4babc80625bcb93772
bc40dbf Get rid of unused property timeslotForOneToplevelMethodTraversalMs (W… Vassiliy-Kudryashov Nov 24, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/bc40dbf6710deee752fbcfe0ee951244c944b322
8ab1578 Add AbstractSettings.areCustomized() ability to tell template from us… Vassiliy-Kudryashov Nov 24, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/8ab15789e69ff40bfd596570c21399caec4cb532
7cc19c0 Fix misprints in Apache license text. Vassiliy-Kudryashov Nov 24, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/7cc19c0e1369893c109f330412dad04e803ae98d
5c83685 Merge branch 'main' into Vassiliy-Kudryashov/experiments Vassiliy-Kudryashov Nov 25, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/5c83685da7519d8275caf3ed7b2f700edf238467
2b9373d Merge branch 'main' into Vassiliy-Kudryashov/experiments Vassiliy-Kudryashov Nov 25, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/2b9373d01dcf9ee3edb297712135bf2e23271935
aee42d6 Merge branch 'main' into Vassiliy-Kudryashov/experiments Vassiliy-Kudryashov Nov 28, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/aee42d618c6764765937af2f65c16a26b9aca224
5c1328f Fix an issue with always-default settings state. Vassiliy-Kudryashov Dec 2, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/5c1328fca40f577a0354a6aa82281e4dac2d8d6f
270aa3c Fix a misprint in UtSettings property name "treatAssertAsErrorSuite" Vassiliy-Kudryashov Dec 2, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/270aa3c92fd1750992a0e21cc98e330f87fb595e
bd6dde8 Merge branch 'main' into Vassiliy-Kudryashov/experiments Vassiliy-Kudryashov Dec 2, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/bd6dde82d120a85ef217ab36cc29c552984b5aaa
b6e4ea7 Fix a misprint in UtSettings property name "treatAssertAsErrorSuite" Vassiliy-Kudryashov Dec 2, 2022 https://github.com/UnitTestBot/UTBotJava/pull/1420/commits/b6e4ea7e6a3cc7d8565f86f39d475ba6cebbf21d
Clear filters https://github.com/UnitTestBot/UTBotJava/pull/1420/files
Please reload this pagehttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
Please reload this pagehttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
SettingsTemplateHelper.java https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-5303ebe7bb98e7ff27613123b70ae401796086335e80667e3d082a41a78b814a
AbstractSettings.kt https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
UtSettings.kt https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-80d01989f2b4a8930154527824aed76ab56b038fb746dbf6255ba3a3f1024931
CgMethodConstructor.kt https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-f21fcf8ebc717af1a3c8222c2bc4cfc38e1d5ae129bebf5126b42853e60b9e25
build.gradle.kts https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-93926451353c13d40bbc60b08b2a119922b0c816ba9cb3a81e82b8189965d80d
Settings.kt https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-dad65a6e38a192d6708304bb66ccc369f56cf34777a4015f332ebd88dfe06d68
UtValueTestCaseChecker.kt https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-3e9999110763b7e87da5d74e8a3d85541a9c5e0f0086aa2e83ba621843ade2c0
buildSrc/src/main/java/SettingsTemplateHelper.javahttps://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-5303ebe7bb98e7ff27613123b70ae401796086335e80667e3d082a41a78b814a
View file https://github.com/UnitTestBot/UTBotJava/blob/b6e4ea7e6a3cc7d8565f86f39d475ba6cebbf21d/buildSrc/src/main/java/SettingsTemplateHelper.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/UnitTestBot/UTBotJava/pull/1420/{{ revealButtonHref }}
utbot-core/src/main/kotlin/org/utbot/common/AbstractSettings.kthttps://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
View file https://github.com/UnitTestBot/UTBotJava/blob/b6e4ea7e6a3cc7d8565f86f39d475ba6cebbf21d/utbot-core/src/main/kotlin/org/utbot/common/AbstractSettings.kt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/UnitTestBot/UTBotJava/pull/1420/{{ revealButtonHref }}
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
https://github.com/UnitTestBot/UTBotJava/pull/1420/files#diff-a5f92fa78dc7a937f116671f14860450a6a2c13298a063460161296bfa36d104
Please reload this pagehttps://github.com/UnitTestBot/UTBotJava/pull/1420/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.