Bug: Split and order IDEA workspace template VM_PARAMETERS
Status: Resolved
Priority: Low
Resolution: Fixed
Created: 07/Feb/23 19:15
Resolved: 14/Feb/23 00:56

Line-based version control has trouble with merge conflicts in the IDEA template VM parameters and they’re annoying to fix as they’ve grown long. Split them across multiple lines and order them to and provide a hint to the user that they aren’t seeing all options.

 {code}
      <option name="VM_PARAMETERS" value="-Dcassandra.config=file://$PROJECT_DIR$/test/conf/cassandra.yaml -Dlogback.configurationFile=file://$PROJECT_DIR$/test/conf/logback-test.xml -Dcassandra.logdir=$PROJECT_DIR$/build/test/logs -Djava.library.path=$PROJECT_DIR$/lib/sigar-bin -Dlegacy-sstable-root=$PROJECT_DIR$/test/data/legacy-sstables -Dinvalid-legacy-sstable-root=$PROJECT_DIR$/test/data/invalid-legacy-sstables -Dcassandra.ring_delay_ms=1000 -Dcassandra.skip_sync=true -ea -XX:MaxMetaspaceSize=384M -XX:SoftRefLRUPolicyMSPerMB=0 -XX:HeapDumpPath=build/test -Dcassandra.strict.runtime.checks=true -Dlegacy-sstable-root=$PROJECT_DIR$/test/data/legacy-sstables -Dinvalid-legacy-sstable-root=$PROJECT_DIR$/test/data/invalid-legacy-sstables -Dmigration-sstable-root=$PROJECT_DIR$/test/data/migration-sstables -Dcassandra.ring_delay_ms=1000 -Dcassandra.tolerate_sstable_size=true -Dcassandra.skip_sync=true -Dcassandra.reads.thresholds.coordinator.defensive_checks_enabled=true" />
{code}
to
{code}
      <option name="VM_PARAMETERS" value="
                                          -Dcassandra.config=file://$PROJECT_DIR$/test/conf/cassandra.yaml
                                          -Dcassandra.logdir=$PROJECT_DIR$/build/test/logs
                                          -Dcassandra.reads.thresholds.coordinator.defensive_checks_enabled=true
                                          -Dcassandra.ring_delay_ms=1000
                                          -Dcassandra.ring_delay_ms=1000 -Dcassandra.tolerate_sstable_size=true
                                          -Dcassandra.skip_sync=true
                                          -Dcassandra.skip_sync=true
                                          -Dcassandra.strict.runtime.checks=true
                                          -Dinvalid-legacy-sstable-root=$PROJECT_DIR$/test/data/invalid-legacy-sstables
                                          -Dinvalid-legacy-sstable-root=$PROJECT_DIR$/test/data/invalid-legacy-sstables
                                          -Djava.library.path=$PROJECT_DIR$/lib/sigar-bin
                                          -Dlegacy-sstable-root=$PROJECT_DIR$/test/data/legacy-sstables
                                          -Dlegacy-sstable-root=$PROJECT_DIR$/test/data/legacy-sstables
                                          -Dlogback.configurationFile=file://$PROJECT_DIR$/test/conf/logback-test.xml
                                          -Dmigration-sstable-root=$PROJECT_DIR$/test/data/migration-sstables
                                          -XX:HeapDumpPath=build/test
                                          -XX:SoftRefLRUPolicyMSPerMB=0
                                          -ea -XX:MaxMetaspaceSize=384M
                                          -Didea.click.expand.for.rest.of.options" />
{code}

In IDEA the first time the properties are modified the whitespace is cleaned up, and the hint stays at the end of the line as a reminder,