xjsender / haoide

Stop upgrade, most of features were delivered in https://github.com/xjsender/haoide-vscode
MIT License
199 stars 46 forks source link

Deploy only those components which are part of the package.xml #169

Open Shababsoft opened 6 years ago

Shababsoft commented 6 years ago

@xjsender - Is this possible that you can provide an option "Deploy the package.xml" for Context Menu on package.xml file. This action should only deploy the components which are in the package.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
                <members>TestPage</members>
                <name>ApexPage</name>
    </types>
    <types>
                <members>TestPageCtrl</members>
                <name>ApexClass</name>
    </types>
</Package>

At the moment I can only see "Retrieve package.xml" and "Combine Package Fields".

xjsender commented 6 years ago

@Shababsoft , actually, you can retrieve package.xml firstly, after it's finished, a new folder will be created at the same folder with the package.xml, and then, you can use Deploy Package to deploy the folder retrieved by package.xml, see as below,

image

xjsender commented 6 years ago

@Shababsoft , not planning to combine the retrieve step and deploye step to one step, sorry.

Shababsoft commented 6 years ago

@xjsender I want to deploy a git salesforce package to more than one sandbox everyday, I was thinking if there is anyway that you can ignore the files during deployment, which are not in package.xml? The files in git are pushed by developers from different sandboxes and theyse components are not available in new sandboxes. Also the git has other components which are not in package.xml.

xjsender commented 6 years ago

@Shababsoft , sorry, not get your point, I think whether you can use refresh package to refresh fixed package.xml by yourself and then deploy the package to other sandbox by Deploy package command?

image

xjsender commented 6 years ago

As you know, the Refresh Package will refresh the folder by the package.xml file in the src folder but not by subscribed_metadata_objects, so you maintain the package.xml and refresh or deploy the package by your own package.xml, which not will cover others components. @Shababsoft

xjsender commented 6 years ago

@Shababsoft , check #154 , is it what you wanted?

Shababsoft commented 6 years ago

@xjsender - Refresh package works fine, I remember I asked for this feature. The problem I am facing is that when I use Deploy Package, the application is deploying all components in the src folder, without checking that if they are part of the package.xml or not. I have no option to refresh as I don't have connection to the particular sandbox because we are using git repo to store code. Each developer has own sandbox and they merge changes in develop branch, every-time someone push change to the git repo we deploy the develop branch into sandbox.

xjsender commented 6 years ago

@Shababsoft , understood, you want to deploy package by content in package.xml but we just directly deploy the content in src.