Since update to latest version save all shortcut doesn't push to server

Issue #1319 new
Jaap Branderhorst created an issue

The shortcut ‘Save All’ doesn’t deploy the changed metadata to the server.

Comments (12)

  1. Scott Wells repo owner

    Vic, it looks to me like you may have your configured source root set too high. My guess is that your current source root is /Users/vmagnotti/ic_consult/ReferralsSandbox and it should likely be /Users/vmagnotti/ic_consult/ReferralsSandbox/src. Do you mind attaching the file ReferralsSandbox.iml for review?

  2. David Esposito

    I’m having the same problem – I tried using IntelliJ Community and RubyMine as the host app for IC 2.0.8.2 and when I “save” (Ctrl+S), nothing happens. If I explicitly do a Source Push, it goes up

    This is what the log says:

    2019-08-28 09:07:13,286 [ 222598]   INFO - lij.diagnostic.DebugLogManager - Set DEBUG for the following categories: #com.illuminatedcloud.util.CommandLineUtil, #com.illuminatedcloud.intellij.sfdx.SfdxUtil, #com.illuminatedcloud.intellij.builder.ForceComSfdxDeployer, #com.illuminatedcloud.intellij.builder.ForceComSfdxRetriever, #com.illuminatedcloud.util.VariableLengthPollingInterval, #com.illuminatedcloud.intellij.builder.IlluminatedCloudSaveAllAction, #com.illuminatedcloud.intellij.builder.ForceComBuilder, #com.illuminatedcloud.intellij.builder.ForceComBuilderUtil, #com.illuminatedcloud.intellij.builder.ForceComMetadataApiDeployer, #com.illuminatedcloud.intellij.builder.ForceComSfdxMetadataDeployer, #com.illuminatedcloud.intellij.builder.ForceComSfdxDeployer, #com.illuminatedcloud.intellij.builder.ForceComToolingApiDeployer, #com.illuminatedcloud.intellij.builder.ForceComBuildFailureAnnotator, #com.illuminatedcloud.util.VariableLengthPollingInterval 
    2019-08-28 09:07:17,588 [ 226900]  DEBUG - .IlluminatedCloudSaveAllAction - Overridden Save All action invoked. 
    2019-08-28 09:07:17,588 [ 226900]  DEBUG - .IlluminatedCloudSaveAllAction - Performing default Save All behavior. 
    2019-08-28 09:07:17,613 [ 226925]  DEBUG - .IlluminatedCloudSaveAllAction - Determining files which should be deployed. 
    2019-08-28 09:07:17,614 [ 226926]  DEBUG - .IlluminatedCloudSaveAllAction - Adding pending save files. 
    2019-08-28 09:07:17,614 [ 226926]  DEBUG - .IlluminatedCloudSaveAllAction - Adding unsaved documents. 
    2019-08-28 09:07:17,614 [ 226926]  DEBUG - .IlluminatedCloudSaveAllAction - Adding files from the event data context. 
    2019-08-28 09:07:17,614 [ 226926]  DEBUG - .IlluminatedCloudSaveAllAction -   Ignoring file C:/Users/esposito/Documents/PatronManager/patronstorm/force-app/main/default/classes/sync/BatchAbstractSynchronizer.cls. 
    2019-08-28 09:07:17,614 [ 226926]  DEBUG - .IlluminatedCloudSaveAllAction - Adding unsaved files from tabbed editors. 
    2019-08-28 09:07:17,614 [ 226926]  DEBUG - .IlluminatedCloudSaveAllAction - No files to be deployed. 
    2019-08-28 09:07:17,770 [ 227082]   INFO - rationStore.ComponentStoreImpl - Saving appGemManagerSettings took 23 ms 
    2019-08-28 09:07:17,954 [ 227266]   INFO - mponents.impl.stores.StoreUtil - saveProjectsAndApp took 314 ms 
    
  3. Scott Wells repo owner

    David, it doesn't look like you have any source roots configured:

      <component name="NewModuleRootManager">
        <content url="file://$MODULE_DIR$">
          <excludeFolder url="file://$MODULE_DIR$/.idea" />
          <excludeFolder url="file://$MODULE_DIR$/.sfdx" />
          <excludeFolder url="file://$MODULE_DIR$/.vscode" />
          <excludeFolder url="file://$MODULE_DIR$/IlluminatedCloud" />
          <excludeFolder url="file://$MODULE_DIR$/ant" />
          <excludeFolder url="file://$MODULE_DIR$/fixtureData" />
        </content>
        <orderEntry type="jdk" jdkName="IlluminatedCloud (patronstorm/PatronStormScratchOrg)" jdkType="IlluminatedCloud" />
        <orderEntry type="sourceFolder" forTests="false" />
      </component>
    

    Here's how it would look if you had a source root:

      <component name="NewModuleRootManager">
        <content url="file://$MODULE_DIR$">
          <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
          <excludeFolder url="file://$MODULE_DIR$/.tmp" />
          <excludeFolder url="file://$MODULE_DIR$/temp" />
          <excludeFolder url="file://$MODULE_DIR$/tmp" />
        </content>
        <orderEntry type="jdk" jdkName="IlluminatedCloud (all_metadata/demo)" jdkType="IlluminatedCloud" />
        <orderEntry type="sourceFolder" forTests="false" />
      </component>
    

    Notice the sourceFolder entry there. Yours doesn't have any. Can you right-click on force-app/main/default and click Mark Directory as>Sources Root? If for any reason you don't see that option, you can do it from Illuminated Cloud>Configure Module under the Project Structure tab. Just click on that same folder and then make sure that the Sources button is selected.

  4. David Esposito

    Awesome, yes, that’s what was going on here. In between when I wrote the comment you replied, I got one of those little alerts in the Event Log saying that I didn’t have any source roots configured. It suggested adding the ‘unpackaged’ and ‘force-app' folders which I accepted as the Resolution.

    I’m back in business – thank you!

    For posterity, my IML (from RubyMine) file has a couple of source roots now:

      <component name="NewModuleRootManager">
        <content url="file://$MODULE_DIR$">
          <excludeFolder url="file://$MODULE_DIR$/.idea" />
          <excludeFolder url="file://$MODULE_DIR$/.sfdx" />
          <excludeFolder url="file://$MODULE_DIR$/.vscode" />
          <excludeFolder url="file://$MODULE_DIR$/IlluminatedCloud" />
          <excludeFolder url="file://$MODULE_DIR$/ant" />
          <excludeFolder url="file://$MODULE_DIR$/fixtureData" />
        </content>
        <content url="file://$MODULE_DIR$/force-app">
          <sourceFolder url="file://$MODULE_DIR$/force-app/main/default" isTestSource="false" />
        </content>
        <content url="file://$MODULE_DIR$/unpackaged">
          <sourceFolder url="file://$MODULE_DIR$/unpackaged/main/default" isTestSource="false" />
        </content>
        <orderEntry type="jdk" jdkName="IlluminatedCloud (patronstorm/PatronStormScratchOrg)" jdkType="IlluminatedCloud" />
        <orderEntry type="sourceFolder" forTests="false" />
      </component>
    
  5. Scott Wells repo owner

    Is there anyone here having this issue where setting up source roots properly does not resolve it? Trying to figure out if I can resolve this issue or if there is potentially more than one underlying cause.

  6. Doug Ayers

    For me, having the source roots configured correctly is necessary.

    Side observation, if I don’t have a file editor open, then in the file explorer I must have focused a sub-folder of what I’ve identified as the source root for the IC2 to “push” my metadata up when I press Cmd+S (macOS).

    For example, in the above screenshot, when I press Cmd+S, unless I have focused a folder under /force-app/main/default (a source root) then nothing happens.

    I’m not saying this is good or bad, just an observation I had recently.

  7. Scott Wells repo owner

    That's right. The Save All action is contextual. If the current context us not under a configured source root, nothing will happen. That ensures that IC won't try to evaluate things that aren't considered source for deploy-to-server operations.

    There are a few things that aren't/weren't working the way I wanted, and I have a big update coming (likely next Monday or Tuesday morning) around metadata deployment/retrieval/delete and metadata subscription management, etc., that started as complete support for child metadata but ended up including a pretty significant number of bug fixes as well.

  8. Log in to comment