amtrack / force-dev-tool

[DEPRECATED] Command line tool supporting the Force.com development lifecycle
MIT License
108 stars 37 forks source link

Removing "description" tag from a profile metadata does not generate neither destructive nor normal package.xml #90

Closed vkolotov closed 4 years ago

vkolotov commented 7 years ago

Salesforce sent an update to CI where it removed <description> tag from some profiles metadata objects (looks like a user just deleted "description" from them). This update was pushed to git. CI job to deploy this job failed to generate any changesets:

These are the changes:

diff --git a/src/profiles/Digital Agency Administrator.profile b/src/profiles/Digital Agency Administrator.profile
index adb6327..824e9aa 100644
--- a/src/profiles/Digital Agency Administrator.profile 
+++ b/src/profiles/Digital Agency Administrator.profile 
@@ -1025,7 +1025,6 @@
         <enabled>false</enabled>
     </classAccesses>
     <custom>true</custom>
-    <description>For Brand Managers to manage Digital Agency Accounts and setup Digital Agency users from Digital Agency Individuals.</description>
     <fieldPermissions>
         <editable>false</editable>
         <field>Account.AML_Check_Status__c</field>
diff --git a/src/profiles/Digital Agency Identity User.profile b/src/profiles/Digital Agency Identity User.profile
index 4da53c5..92996bd 100644
--- a/src/profiles/Digital Agency Identity User.profile 
+++ b/src/profiles/Digital Agency Identity User.profile 
@@ -1025,7 +1025,6 @@
         <enabled>false</enabled>
     </classAccesses>
     <custom>true</custom>
-    <description>Profile for Digital Agency users (external) accessing Adobe AEM via SSO.</description>
     <fieldPermissions>
         <editable>false</editable>
         <field>Account.AML_Check_Status__c</field>
diff --git a/src/profiles/TO DELETE Chatter User.profile b/src/profiles/TO DELETE Chatter User.profile
index 7e8ab2a..1766c9a 100644
--- a/src/profiles/TO DELETE Chatter User.profile      
+++ b/src/profiles/TO DELETE Chatter User.profile      
@@ -1025,7 +1025,6 @@
         <enabled>false</enabled>
     </classAccesses>
     <custom>true</custom>
-    <description>General employee chatter only user.</description>
     <fieldPermissions>
         <editable>false</editable>
         <field>Account.AML_Check_Status__c</field>

This is what was generated:

user@jenkins:/var/lib/jenkins/workspace/project_name# git diff e0395fffec3aef34dd744eb623f43248d6ad94df..33330a87031533465b9c1ac1aafc1db8be80d4de | force-dev-tool changeset create test3
Manifest:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <version>39.0</version>
</Package>

exported metadata container to config/deployments/test3

So nothing was uploaded to Salesforce.

vkolotov commented 7 years ago

Looks like <description> tag is completely ignored by force-dev-tool:

user@jenkins:/var/lib/jenkins/workspace/project# git diff 142c5a0de38f791c24390a3881e54da084beaf73..f0a74744ccd99dbd1c9004f02216285597407556 
diff --git a/src/profiles/Digital Agency Administrator.profile b/src/profiles/Digital Agency Administrator.profile
index 9347f93..c75fdc1 100644
--- a/src/profiles/Digital Agency Administrator.profile 
+++ b/src/profiles/Digital Agency Administrator.profile 
@@ -1025,7 +1025,7 @@
         <enabled>false</enabled>
     </classAccesses>
     <custom>true</custom>
-    <description></description>
+    <description>123456</description>
     <fieldPermissions>
         <editable>false</editable>
         <field>Account.AML_Check_Status__c</field>
user@jenkins:/var/lib/jenkins/workspace/project# git diff 142c5a0de38f791c24390a3881e54da084beaf73..f0a74744ccd99dbd1c9004f02216285597407556 | force-dev-tool changeset create test5
Manifest:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <version>39.0</version>
</Package>

exported metadata container to config/deployments/test5
vkolotov commented 7 years ago

@amtrack just so you know. I though that this is a "generic" bug, e.g. any deletion for text fields do not trigger any updates. However, I did a test with a custom field:

  1. I set a default value to a custom field.
  2. Synced this change from salesforce to git.
  3. Updated git directly to remove <defaultValue> tag completely.
  4. Triggered the deployment process which successfully uploaded my change to SF.

This was generated by the dev-tool:

Manifest:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>CITestObject__c.CITestField__c</members>
        <name>CustomField</name>
    </types>
    <version>39.0</version>
</Package>
okram999 commented 7 years ago

i am guessing this is still open

amtrack commented 7 years ago

@okram999 yes, this is still open.

amtrack commented 4 years ago

:tada: This issue has been resolved in version 2.6.2 :tada:

The release is available on:

Your semantic-release bot :package::rocket: