#2173: store JetBrains vmoptions under $IDE_HOME/.ide/<ide>/<workspace> - #2208
#2173: store JetBrains vmoptions under $IDE_HOME/.ide/<ide>/<workspace>#2208quando632 wants to merge 10 commits into
Conversation
Coverage Report for CI Build 33490848385Coverage increased (+0.007%) to 73.62%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions1 previously-covered line in 1 file lost coverage.
Coverage Stats💛 - Coveralls |
402f6a4 to
6b3cb19
Compare
|
Hi @quando632, i have reviewed for your ticket and would like to suggest the following improvements: 1. No migration (assessed as acceptable) The PR description says "No migration is needed: the vmoptions file is regenerated at the new location on the next IDE launch." This is correct because the file is derived from *_VM_ARGS 2. Trailing-whitespace cleanup in IntellijTest is tangential The diff removes some trailing spaces (lines 218, 253) and a debug System.out.println that was accidentally left in (testIntellijRun). Same in PycharmTest (System.out.println("Starting 3. MockedPlugin log message change is tangential AndroidStudioTest.java:117 changes "Successfully ended step 'Install plugin MockedPlugin'." → "Successfully ended step 'Install plugin MockedPlugin (1/1)'." — this is a pre-existing test fix, 4. Consider: getIdeMetadataPath() directory creation writeFileContent(..., confPath, true) with createParentDirs=true handles parent directory creation. Verified good. |
|
Thanks for the review, @QuangAnhLe. Points 2 and 3 came from an earlier diff base. Since then #2175 (the Point 4: agreed, Point 1: the feature is already listed under #2142 in the CHANGELOG. Since the stale |
|
hi @quando632 Thanks for the clarification. I re-checked the current diff and agree with your assessment on all four points. My comments on points 2 and 3 were based on an older diff and are no longer applicable after #2175 was merged and the branch was updated. Point 4 looks good, and I also agree that the existing CHANGELOG entry in #2142 should be sufficient. Thanks for the explanation. Everythings looks good now, so the Pr can be merged. |
hohwille
left a comment
There was a problem hiding this comment.
@quando632 thanks for splitting this into smaller sub-tasks and PRs. This PR looks straight forward to me. Great work and ready for merge👍
I assume we will do the CHANGELOG entry for the parent story in the main PR. I only have to pay attention that we include both into the same release...
This PR fixes #2173 (part of #2142)
Moves the JetBrains VM options out of the workspace into
$IDE_HOME/.ide/«ide»/«workspace»for IntelliJ, PyCharm and Android Studio, solved once in their shared superclass.Scope
Per the discussion on #2142, only the vmoptions are relocated.
.ideaand*.propertiesare intentionally out of scope:.ideais IntelliJ's project-root-bound project definition (excluded from IntelliJ's own search anyway) andidea.propertiesis an empty template merged into the workspace — relocating them would need symlinks (Windows-permission risk) for little benefit. Spike #2209 was closed as not planned.Implemented changes
IdeaBasedIdeToolCommandlet.runTool: the.«prefix».vmoptionsfile is now written togetIdeMetadataPath()instead of the workspace (the«IDE»_VM_OPTIONSenv var points at the same new path). One change in the shared superclass covers IntelliJ (.idea.vmoptions), PyCharm (.pycharm.vmoptions) and Android Studio (.studio.vmoptions).IntellijTest,PycharmTest,AndroidStudioTestto assert the new location.No migration is needed: the vmoptions file is regenerated at the new location from the
«IDE»_VM_ARGSvariable on the next IDE launch.Testing instructions
cd cli && mvn -Dtest=IntellijTest,PycharmTest,AndroidStudioTest testall pass.INTELLIJ_VM_ARGSin your project, runide intellij, verify.idea.vmoptionsis created under$IDE_HOME/.ide/intellij/«workspace»/and not in the workspace.Checklist for this PR
mvn clean testlocally all tests pass and build is successful (ran the affected tests)#«issue-id»: «brief summary»In Progressand assigned to you